score/=10
switch后面的表达式语句只能是整型或者字符类型。
而且你那么写c语言也不对,也·应该写出(score<=100&&score>=90)
但是怎么写好像放在case后面执行也显示错误
score/10==8 跟下面case 10到case 6有对应的case执行进去,否则你代码执行出来永远显示的执行default语句内容
你这样的话,得到应该是等级D,case后面跟的是常量表达式,当switch()括号里面的值与某一case后面的值相同时,执行case后面的语句。
目前你的score的值是87,case后面的值没有与之对应的值,所以执行default后面的语句。
望采纳
为啥要除10
这不对吗?
#include <stdio.h>
int main()
{
int score = 87; //考试分数为87分
switch(score)
{
/*想想以下代码为什么用这种方式;
这种方式的好处?*/
case 10:90<=score<=100;
case 9:
printf("等级A");
break;
case 8:80<=score<90;
printf("等级B");
break; //这里是不是缺点什么?
case 7:
case 6: 60<=score<80;
printf("等级C");
break; //这里是不是缺点什么?
default:score<60;
printf("等级D");
break;
}
return 0;
}