为什么不能运行,case不是能运行不等号吗,为什么这么写不正确
修改如下,供参考:
#include <stdio.h>
int main()
{
int a,b,sum;
printf("请输入两门成绩(整数):");
do{
sum = 0;
scanf("%d %d", &a, &b);
if (a < 0 || a > 100 || b < 0 || b > 100){
printf("输入的成绩错误,请重新输入:\n");
sum = 1;
}
}while (sum == 1);
sum = a + b;
switch(1*(sum >= 180 && sum <= 200) +
2*(sum >= 160 && sum < 180) +
3*(sum >= 140 && sum < 160) +
4*(sum >= 120 && sum < 140) +
5*(sum >= 0 && sum < 120)){
case 1:printf("%d----> A",sum);break;
case 2:printf("%d----> B",sum);break;
case 3:printf("%d----> C",sum);break;
case 4:printf("%d----> D",sum);break;
case 5:printf("%d----> E",sum);break;
}
return 0;
}
不可以的。case里只能是个整型值
case后面加的是标签 比如 1 2 3 4这样的而且要都不相等。你这个要用if else 来做