其实,虽然WA了好几次,但对于我这样的新手来说,总算有些收获,之前的WA,是因为我错误的认为%.0lf是不取小数,但是%.0lf==%.lf都是四舍五入,只取整的话,需要(int) double,做强制类型转换
有收获,很开心
#include<stdio.h>
#include<string.h>
#define pi 3.14159
#define eps 1e-6
int main()
{
int x,y,z,able;
double dis,left;
char a[11];
while(1)
{
scanf("%s",a);
if(strcmp(a,"ENDOFINPUT")==0)
break;
if(strcmp(a,"START")==0)
{
scanf("%d%d%d",&x,&y,&z);
scanf("%s",a);
if(z<=180)
dis=z*2*pi*x/360;
else
dis=(360-z)*2*pi*x/360;
able=5*y;
if(able>2*dis-eps)
{
left=y-2*dis/5;
printf("YES %d\n",(int) left);//错误写法printf("YES %.0lf\n",left);
}
else
printf("NO %d\n",able);
}
}
return 0;
}