他说我的“case ”表达不准确,请问该如何表达呢,为什么呢
#include
int main()
{
int score = 86;
switch (score)
{
case "score >=90 && score <= 100":printf("Level is A!");break;
case "score >=80 && score < 90":printf("Level is B!");break;
case "score >=70 && score < 80":printf("Level is C!");break;
case "score >=60 && score < 70":printf("Level is D!");break;
case "score >=0 && score < 60":printf("Level is E!");break;
default:printf("Error!");
}
}
CASE后边接常量枚举值 CASE 1:2:这种,不能接判断条件
#include <stdio.h>
int main()
{
int score = 86;
switch (score/10)
{
case 10:
case 9:
printf("Level is A!");break;
case 8:printf("Level is B!");break;
case 7:printf("Level is C!");break;
case 6:printf("Level is D!");break;
case 5:
case 4:
case :3
case :2
case :1
case :0 printf("Level is E!");break;
default:printf("Error!");
}
}
这里用Switch不合适 要用if else
修改如下,供参考:
#include <stdio.h>
int main()
{
int score = 86;
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("Level is A!");break;
case 2:printf("Level is B!");break;
case 3:printf("Level is C!");break;
case 4:printf("Level is D!");break;
case 5:printf("Level is E!");break;
default:printf("Error!");
}
return 0;
}