C++2010 switch语句的问题
解决时间 2021-02-02 01:13
- 提问者网友:沉默菋噵
- 2021-02-01 01:40
部分程序代码如下
#include
int main()
{
int a;
scanf("%d",&a);
switch(a)
{
case a>90: printf("优秀\n");break;
case a>75: printf("良好\n");break;
case a>60: printf("中\n");break;
case a<60: printf("差\n");break;
}
return(0);
}
为什么运行的时候输入90显示的是优秀。。。求大神解答
最佳答案
- 五星知识达人网友:渡鹤影
- 2021-02-01 03:09
case语句不可以判断的,需要修改,我帮你修改了一下,如果每个都包含"="号的话,例如a>=90,那么就可以使用case语句了,否则用其他语句,别用case语句。
#include
using namespace std;
int main()
{
int a;
cin>>a;
switch(a/15)
{
case 6: cout<<"优秀"<
case 5: cout<<"良好"<
case 4: cout<<"中"<
default: cout<<"差"<
}
return 0;
}
全部回答
case 语句不能这样用,你可以用if elseif if 这种方式改写
- 2楼网友:归鹤鸣
- 2021-02-01 04:09
switch(a/10)
{
case 9:
case 8: printf("优秀\n");break;
case 7:
printf("良好\n");break;
case 6: printf("中\n");break;
case 5:
case 4:
case 5:
case 3:
case 2:
case 1:
case 0:
printf("差\n");break;
}
switch语句判断的是与case后面的值是否相同,如果相同则执行后面的语句
可以改成如上形式
- 3楼网友:孤独入客枕
- 2021-02-01 03:20
你好
根据你的语句
case 语句是有问题的
希望回答对你有帮助
我要举报
大家都在看
推荐资讯