c语言如何编写一个输出学生成绩等级的程序?

发布网友 发布时间:2022-04-22 10:07

我来回答

5个回答

热心网友 时间:2022-07-12 02:24

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

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

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

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

热心网友 时间:2022-07-12 02:25

#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;

}

热心网友 时间:2022-07-12 02:25

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

程序如下:

热心网友 时间:2022-07-12 02:26

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

if(score >=90) {

grade = "优秀";

}else if(score >=80) {

grade = "良好";

}else if(score >=60){

grade = "及格"

} esle{

grade = "不及格";

热心网友 时间:2022-07-12 02:27

#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;
}

希望能帮助到你!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com