#include <stdio.h>
int main() {
int x;
while(scanf("%d",&x))
{
if(x>=0&&x<=100)
x/=10;
else printf("请输入有效成绩");
switch(x){
case 10:printf("A");
case 9:printf("A");
case 8:printf("B");
case 7:printf("C");
case 6:printf("D");
case 5:printf("E");
case 4:printf("E");
case 3:printf("E");
case 2:printf("E");
case 1:printf("E");
case 0:printf("E");
}
}
return 0;
}
因为case后未加break终止,所以switch语句会从头到尾一直输出,加入while循环,可以在运行时一直输入。
#include <stdio.h>
int main() {
int x;
while(scanf("%d",&x))
{
if(x>=0&&x<=100)
x/=10;
else printf("请输入有效成绩");
switch(x){
case 10:printf("A");break;
case 9:printf("A");break;
case 8:printf("B");break;
case 7:printf("C");break;
case 6:printf("D");break;
case 5:printf("E");break;
case 4:
case 3:
case 2:
case 1:
case 0:printf("E");break;
}
}
return 0;
}
加入了break终止就好了,而且case语句可以共用一组执行语句,所以当60分以下全为E的时候,几个case不需要写执行语句,但一样会执行。