例如杭电的ACM题,我的代码如下#include<stdio.h>#include<string.h>int main(){ char ch[100]; while(scanf("%s",ch)!=EOF) { char cha; int c=0; float GPA = 0,i = 0; while(scanf("%c",&cha)!=EOF) { if(cha == '\n') break; else if(cha == 'A') { GPA += 4; i++; } else if(cha == 'B') { GPA += 3; i++; } else if(cha == 'C') { GPA += 2; i++; } else if(cha == 'D') { GPA += 1; i++; } else if(cha == 'F') { i++; } else if(cha == ' '); else c=1; } if(c == 0) printf("%.2f\n",GPA/i); else printf("Unknown letter grade in input\n"); } return 0;}
利用EOF输入多组数据我会使用,但是如何理解 while(~scanf("%s",ch)!=NULL)
{
。。。
while(scanf("%c",&ch)!=EOF)
。。。
}这种方法
这道题没有说明输入多少行数据,也没有说明每行输入多少个数据