我想用c的switch case结构写一个程序,是给出不同的分值,每个分值段为60一下,60-69,70-85,85-100,...
答案:4 悬赏:80
解决时间 2021-02-20 06:11
- 提问者网友:孤笛钟情你
- 2021-02-19 07:36
我想用c的switch case结构写一个程序,是给出不同的分值,每个分值段为60一下,60-69,70-85,85-100,每个分值段对应的是D,C,B,A,例如我输入是78,那么电脑给出的应该是A。
我的程序如下
#include
void main()
{
int score;
printf("Please enter the score:");
scanf("%d",&score);
switch(score)
{
case 85 printf("A\n");
break;
case 70 printf("B\n");
break;
case 60 printf("C\n");
case score<60:
..........它说我的case expression not constant????
麻烦高人指点一下,万分感谢!
最佳答案
- 二级知识专家网友:伤口狠精致
- 2021-02-19 08:08
//switch中的case 标签必须为常量且不重复,
//而你的switch中 85
//你可以参考下面的例子:
switch(score/10)
{
case 10:
case 9:
case 8:
if(score%10>=5)
{
printf("A\n");
break;
}
case 7:
printf("B\n");
break;
case 6:
printf("C\n");
break;
default:
printf("D\n");
}
全部回答
- 1楼网友:星痕之殇
- 2021-02-19 09:45
case后面的表达式不能像你这样写,他应该是一个常量。
我有另外一个思路:
switch(score/10)
{
case 6:
printf("C\n");
break;
case 7:
........
}
- 2楼网友:一身浪痞味
- 2021-02-19 08:56
#include
void main()
{
float score;
printf("Please enter the score:");
scanf("%f",&score);
switch((int)score/10)
{
case 10:
case 9: printf("A\n");
break;
case 8: printf("B\n");
break;
case 7: printf("C\n");
break;
case 6: printf("D\n");
break;
default: printf("E\n");
}
}
- 3楼网友:颜值超标
- 2021-02-19 08:15
假设温度在0~100度之间
t = t / 10; // t为int类型,否则需要强制转换
switch(t)
{
case 0:
case 1:
case 2:
turnon(p1.0);
break;
case 3:
turnon(p1.1);
break;
case 4:
case 5:
turnon(p1.2);
break;
case 6:
case 7:
case 8:
case 9:
turnon(p1.1);
turnon(p1.2);
turnon(p1.3);
break;
default:
//温度范围错误
}
我要举报
大家都在看
推荐资讯