#include <stdio.h>
int main()
{
int score,test; //初始化,test变量作为switch函数中的参数
while(scanf("%d",&score))
{
test = score/10;
if (score >= 0 && score <= 100)
{
if(score<60)
{
printf("E\n");
}
switch(test)
{
case 6: printf("D\n");break;
case 7: printf("C\n");break;
case 8: printf("B\n");break;
case 9: printf("A\n");break;
case 10: printf("A\n");break;
}
}else{
printf("Score is error!\n");
}
}
return 0;
}
if语句与switch语句混用,虽然switch部分语句结构看起来具有美感,但整体还是较为混乱。
switch语句在这里还有一个缺点,那就是对于边界值的处理,相较于if语句来说,if只用加一个=,而switch语句需要整整一个语句。
只使用if语句或许更加一目了然:
#include <stdio.h>
int main()
{
int a;
while(scanf("%d", &a))
{
if(a<0)
printf("Score is error!\n");
else if(a<60)
printf("E\n");
else if(a<70)
printf("D\n");
else if(a<80)
printf("C\n");
else if(a<90)
printf("B\n");
else if(a<=100)
printf("A\n");
else
printf("Score is error!\n");
}
return 0;
}
但总归题目简单,无论怎样看,程序结构都很直观