发布网友 发布时间: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;
}
希望能帮助到你!