如何用C语言编程出“给出一个百分制成绩,要求输出成绩等级”?

要求输出成绩等级A、B、C、D、E。90分以上为A ,80~89为B,70~79分为C,60~69分为D,小于60为E。求用switch语句编写的程序。

因为你的score是char类型,char单字符的话,只能读一个字符。比如你输入80,其实读入的是8,所以读入的数字一定小于10,自然就是E了

不信的话可以看下如下代码的结果

代码之路还很长,楼主加油~~

至于怎么改,改成int输入即可。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-09-07
#include<stdio.h>

int main()

{

int
a;

printf("输入你的成绩:");

scanf("%d",&a);

if(a>100||a<0)

{

printf("非法输入");

}

else

{

a=a/10;

switch(a)

{

case 10:
printf("A\n");break;

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;

}本回答被网友采纳
第2个回答  2018-05-23

解:算法: 
S1输入a; 
S2如果a≥90,则输出A,结束算法,否则执行S3; 
S3如果a≥80,则输出B,结束算法,否则执行S4; 
S4如果a≥70,则输出C,结束算法,否则执行S5; 
S5如果a≥60,则输出D,结束算法,否则输出E。
流程图如图所示:

程序如下:

第3个回答  2018-03-08

用if else 语句就行,大致思路

if(score >=90) {

grade = "优秀";

}else if(score >=80) {

grade = "良好";

}else if(score >=60){

grade = "及格"

} esle{

grade = "不及格";

第4个回答  2017-12-26
#include <stdio.h>

int main()
{
printf("请输入分数:");
char szscore[2+1] = {0};
scanf("%s", &szscore);

printf("等级为:");
switch (*szscore) {
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;
}

希望能帮助到你!
相似回答