#include<stdio.h> int main(void) { int score; /*********Begin*********/ scanf("%d",&score); switch (score){ case (score>=90): printf("A"); break; case (score>=80&&score<89): printf("B"); break; case (score>=70&&score<79): printf("C"); break; case (score>=60&&score<69): printf("D"); break; case (score<60): printf("E"); break; default: printf("Score is error!") } /*********End**********/ return 0; }
时间: 2023-07-23 19:11:51 浏览: 44
这段代码存在语法错误,无法通过编译。
在 switch 语句中,case 后面跟的应该是常量表达式,而不是布尔表达式。因此,应该将 case (score>=90) 改为 case 90:,将 case (score>=80&&score<89) 改为 case 80: 或 case 89:,以此类推。
此外,在 switch 语句的最后一个 case 后面的 printf 函数调用中,缺少了分号,应该将 printf("Score is error!") 改为 printf("Score is error!");。
修改后的代码如下:
```
#include<stdio.h>
int main(void)
{
int score;
scanf("%d",&score);
switch (score){
case 90:
printf("A");
break;
case 80:
case 89:
printf("B");
break;
case 70:
case 79:
printf("C");
break;
case 60:
case 69:
printf("D");
break;
case 0:
case 59:
printf("E");
break;
default:
printf("Score is error!");
break;
}
return 0;
}
```
这个程序的作用是根据输入的分数,输出相应的等级(A、B、C、D、E)。