这题失误,没注意到 0 0 360 这样的数据,wa了几次 #include <stdio.h> #include <string.h> #define PI 3.14159 int main(void) { char waste[10]; int r,flu,ang; double left; while (scanf("%s",waste) != EOF && strcmp(waste,"ENDOFINPUT")) { scanf("%d %d %d",&r,&flu,&ang); if (ang > 180) ang=360-ang; scanf("%s",waste); left = flu*5-2*PI*ang*r*2/360; if (left>=0) printf("YES %d/n",(int)(left/5)); else printf("NO %d/n",flu*5); } return 0; }