你这不对啊,如果分数是101,应该显示成绩输入错误,但你的代码显示的是A
时间: 2024-03-10 21:49:24 浏览: 26
非常抱歉,您是正确的,我犯了一个错误。我应该在switch语句的开头检查输入分数是否在0到100之间。以下是更正后的代码:
```c
#include <stdio.h>
int main() {
int score;
char grade;
printf("请输入成绩(0~100):");
scanf("%d", &score);
if(score < 0 || score > 100) {
printf("成绩输入错误!\n");
return 0;
}
switch(score / 10) {
case 10:
case 9:
grade = 'A';
break;
case 8:
grade = 'B';
break;
case 7:
grade = 'C';
break;
case 6:
grade = 'D';
break;
default:
grade = 'F';
}
printf("成绩等级为:%c\n", grade);
return 0;
}
```
现在,如果输入的成绩不在0到100之间,程序将输出错误消息,而不是错误的等级。感谢您指出我的错误,我会更加小心。