switch 只能case 12345 这样,不能用范围判断,要不就用if判断范围,要不就用分数/10再 case 987654,代表90,80,70,有75分里边再嵌套一层
供参考:
#include <stdio.h>
int main()
{
int score = 101;
scanf("%d", &score);
switch (1 * (score >= 90 && score <= 100) +
2 * (score >= 80 && score < 90) +
3 * (score >= 70 && score < 80) +
4 * (score >= 60 && score < 70) +
5 * (score >= 0 && score < 60))
{
case 1:printf("优秀"); break;
case 2:printf("良好"); break;
case 3:printf("良好"); break;
case 4:printf("及格"); break;
case 5:printf("不及格"); break;
default:printf("Error!");
}
return 0;
}