下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出 Input error!,否则将其转换为5分制输出。目前程序存在错误,请将其修改正确。并按照下面给出的运行示例检查程序。 #include<stdio.h> int main() { int score; char grade; printf("Please input score:"); scanf("%d", &score); if (score < 0 || score > 100) printf("Input error!\n"); else if (score >= 90) grade = 'A’; else if (score >= 80) grade = 'B'; else if (score >= 70) grade = 'C'; else if (score >= 60) grade = 'D'; else grade = 'E'; printf("grade:%c\n", grade); return 0; } 程序运行结果示例1: Please input score: -1↙ Input error! 程序运行结果示例2: Please input score: 95↙ grade: A 程序运行结果示例3: Please input score: 82↙ grade: B 程序运行结果示例4: Please input score: 72↙ grade: C 程序运行结果示例5: Please input score: 66↙ grade: D 程序运行结果示例6: Please input score: 32↙ grade: E 程序运行结果示例7: Please input score: 127↙ Input error! 输入格式: "%d" 输入提示信息:"Please input score:\n" 输入错误提示信息:"Input error!\n" 输出格式:"grade: %c\n" (注意:%c前面有一个空格)
代码如下
#include<stdio.h>
int main()
{
int score;
int grade;
printf("Please input score:\n");
scanf("%d", &score);
if (score < 0 || score > 100)
{
printf("Input error!\n");
}
else if(score>=0&&score<=100)
{
if (score >= 90&&score<=100)
grade = 'A';
else if (score >= 80)
grade = 'B';
else if (score >= 70)
grade = 'C';
else if (score >= 60)
grade = 'D';
else
grade = 'E';
printf("grade: %c\n", grade);
}
return 0;
}