当输入大于100小于0的数时,显示“输入有误你分数对应的等级为:”
不清楚哪里有问题,求教学。
#include
#include
int main(void)
{
char level;
float score;
printf("输入你的分数:");
scanf("%f",&score);
if(score < 0.0 || score > 100.0)
{
printf("输入有误");
}
else if(score >=90.0 && score <=100.0)
level = 'A';
else if(score >=60.0 && score < 90.0)
level = 'B';
else
level = 'C';
printf("你分数对应的等级为:%c\n",level);
system("pause");
}
该回答引用ChatGPT
您的代码逻辑是正确的,但是您没有在输入有误时输出"你分数对应的等级为:",所以需要在输入有误的分支中添加这一行代码。另外,您可以将输入有误的判断条件中的"小于0"和"大于100"分开判断,以提高代码可读性。下面是修改后的代码:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char level;
float score;
printf("输入你的分数:");
scanf("%f",&score);
if(score < 0.0)
{
printf("输入有误,分数不能小于0");
}
else if(score > 100.0)
{
printf("输入有误,分数不能大于100");
}
else if(score >=90.0 && score <=100.0)
{
level = 'A';
printf("你分数对应的等级为:%c\n",level);
}
else if(score >=60.0 && score < 90.0)
{
level = 'B';
printf("你分数对应的等级为:%c\n",level);
}
else
{
level = 'C';
printf("你分数对应的等级为:%c\n",level);
}
system("pause");
}
在这个修改后的代码中,如果输入的分数小于0,就会输出"输入有误,分数不能小于0";如果输入的分数大于100,就会输出"输入有误,分数不能大于100"。如果输入的分数在0到100之间,就会输出对应的等级。