输入一个百分制成绩,利用switch语句编写程序,要求输出成绩等级A B C D,E。90以上为A

输入一个百分制成绩,利用switch语句编写程序,要求输出成绩等级A B C D,E。90以上为A,81~89为B,70~79为C,60~69为D,60分一下为E,这是我写的程序,,计算机并没有指出错误,,但输入任何数都输出 E,这是怎么回事?

你输入case 以后要空一格再输入数字 case才会变蓝、

这样就可以了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-30

程序:int main()
{int n;
scanf("%d",&n);
switch(n/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");
}
return 0;
}

1、Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择。以C语言来说,switch(开关语句)常和case break default一起使用。作原理:switch 后面的 (n) 可以是表达式,也可以(并通常)是变量。然后表达式中的值会与 case 中的数字作比较,如果与某个 case 相匹配,那么其后的代码就会被执行。break 的作用是防止代码自动执行到下一行。

2、switch 语句和具有同样表达式的一系列的 IF 语句相似。很多场合下需要把同一个变量(或表达式)与很多不同的值比较,并根据它等于哪个值来执行不同的代码。这正是 switch 语句的用途。注: 注意和其它语言不同,continue 语句作用到 switch 上的作用类似于 break。如果在循环中有一个 switch 并希望 continue 到外层循环中的下一个轮回,用 continue 2。

本回答被网友采纳
第2个回答  2017-03-21
这个的话这要输入整数,都可以有完美的输出
#include<stdio.h>
main()
{
int x;
scanf("%d",&x);
switch(x/10)
{
case 9:
case 10:printf("A\n");break;
case 8:printf("B\n");break;
case 7:printf("C\n");break;
case 6:printf("D\n");break;
case 0:
case 1:
case 2:
case 3:
case 4:
case 5: printf("E\n");break;
default:printf("error\n");
}
return 0;
}
第3个回答  2014-03-13
#include <stdio.h>
main()
{
int iNum;
sacnf("%d", &iNum);
switch (iNum / 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");break;
}
}本回答被网友采纳
第4个回答  2017-10-17
#include <stdio.h>
int main()
{
int iNum;
scanf("%d", &iNum); //楼上scanf打错了!
switch (iNum /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");break;
}
return 0;
}
相似回答