根据输入的百分制成绩score,转换成相应的五分制成绩grade后输出。 转换规则为(要求用switch语句实现): 当score大于等于90且小于等于100时,grade=A; 当score大于等于80且小于90时,grade=B; 当score大于等于70且小于80时,grade=C; 当score大于等于60且小于70时,grade=D; 当score大于等于0且小于60时,grade=E。 当输入分数不正确时,输出:"Input error!" 程序运行示例1: Please enter score:82↙ 82--B 程序运行示例2: Please enter score:120↙ Input error! 输入提示:"Please enter score:" 输入格式:"%d" 输出格式: "%d--A\n" "%d--B\n" "%d--C\n" "%d--D\n" "%d--E\n" 当输入分数不正确时,输出:"Input error!"
时间: 2023-07-05 09:32:26 浏览: 77
你可以尝试以下代码来实现上述功能:
```c
#include <stdio.h>
int main() {
int score;
char grade;
printf("Please enter score:");
scanf("%d", &score);
switch (score / 10) {
case 10:
case 9:
grade = 'A';
printf("%d--%c\n", score, grade);
break;
case 8:
grade = 'B';
printf("%d--%c\n", score, grade);
break;
case 7:
grade = 'C';
printf("%d--%c\n", score, grade);
break;
case 6:
grade = 'D';
printf("%d--%c\n", score, grade);
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
grade = 'E';
printf("%d--%c\n", score, grade);
break;
default:
printf("Input error!\n");
break;
}
return 0;
}
```
解释:
- `char grade;` 声明一个字符类型的变量 `grade`,用于存储转换后的五分制成绩。
- `scanf("%d", &score);` 用于从键盘读取一个整数,并将其存储到变量 `score` 中。
- `switch (score / 10)` 是 switch 语句,用于根据输入的百分制成绩转换成相应的五分制成绩。
- `case 10:` 和 `case 9:` 分别是 switch 语句的分支,用于判断输入的百分制成绩是否在 90 ~ 100 之间。
- 如果 `score / 10` 的值为 10 或 9,则输入的百分制成绩在 90 ~ 100 之间,转换后的五分制成绩为 A。
- `case 8:` 是 switch 语句的分支,用于判断输入的百分制成绩是否在 80 ~ 90 之间。
- 如果 `score / 10` 的值为 8,则输入的百分制成绩在 80 ~ 90 之间,转换后的五分制成绩为 B。
- `case 7:` 是 switch 语句的分支,用于判断输入的百分制成绩是否在 70 ~ 80 之间。
- 如果 `score / 10` 的值为 7,则输入的百分制成绩在 70 ~ 80 之间,转换后的五分制成绩为 C。
- `case 6:` 是 switch 语句的分支,用于判断输入的百分制成绩是否在 60 ~ 70 之间。
- 如果 `score / 10` 的值为 6,则输入的百分制成绩在 60 ~ 70 之间,转换后的五分制成绩为 D。
- `case 5:` 到 `case 0:` 是 switch 语句的分支,用于判断输入的百分制成绩是否在 0 ~ 60 之间。
- 如果 `score / 10` 的值为 5、4、3、2、1 或 0,则输入的百分制成绩在 0 ~ 60 之间,转换后的五分制成绩为 E。
- `default:` 是 switch 语句的分支,用于处理输入分数不正确的情况。
- 如果输入的分数不在 0 ~ 100 之间,则输出提示信息 `"Input error!\n"`。
阅读全文