C语言将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出 Input error!,否则将其转换为5分制输出。输入格式: "%d" 输入提示信息:"Please input score:\n" 输入错误提示信息:"Input error!\n" 输出格式:"grade: %c\n" (注意:%c前面有一个空格)
时间: 2023-07-05 12:20:35 浏览: 109
好的,以下是代码实现:
```c
#include <stdio.h>
int main() {
int score;
printf("Please input score:\n");
scanf("%d", &score);
char grade; // 用一个字符来保存5分制成绩
if (score < 0 || score > 100) {
printf("Input error!\n");
return 0;
} 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;
}
```
代码实现的思路是:首先从键盘输入百分制成绩,然后根据输入的成绩判断是否在合理区间内,如果是,则根据成绩转换为5分制成绩,输出结果。如果输入的成绩不合法,则输出 Input error!。注意,根据题目要求,如果输入错误,程序直接结束,不需要再输出其他内容。
相关问题
c语言将百分制成绩转换为五级值成绩
以下是将百分制成绩转换为五级值成绩的C语言代码:
```c
#include <stdio.h>
int main() {
float score;
printf("请输入百分制成绩:");
scanf("%f", &score);
if (score >= 90) {
printf("成绩等级为:优秀\n");
} else if (score >= 80) {
printf("成绩等级为:良好\n");
} else if (score >= 70) {
printf("成绩等级为:中等\n");
} else if (score >= 60) {
printf("成绩等级为:及格\n");
} else {
printf("成绩等级为:不及格\n");
}
return 0;
}
```
以上代码假设输入的成绩是一个浮点数,根据输入的成绩,使用if-else语句判断成绩等级并输出。如果成绩大于等于90分,则输出"优秀";如果成绩大于等于80分,则输出"良好";如果成绩大于等于70分,则输出"中等";如果成绩大于等于60分,则输出"及格";否则输出"不及格"。
c语言用数组将百分制成绩转换为五级值成绩
可以使用if语句实现百分制成绩转换为五级值成绩。假设五级值成绩分别为A、B、C、D、E,转换规则如下:
百分制成绩 >= 90,五级值成绩为A;
百分制成绩 >= 80,五级值成绩为B;
百分制成绩 >= 70,五级值成绩为C;
百分制成绩 >= 60,五级值成绩为D;
百分制成绩 < 60,五级值成绩为E。
可以按照以下步骤编写程序:
1. 定义一个整型数组存储百分制成绩;
2. 使用循环结构输入每个学生的百分制成绩;
3. 使用循环结构遍历每个学生的百分制成绩,并使用if-else语句将其转换为五级制成绩;
4. 输出每个学生的五级制成绩。
以下是示例代码:
```c
#include <stdio.h>
int main()
{
int i, score[5];
char grade[5];
// 输入每个学生的百分制成绩
for (i = 0; i < 5; i++)
{
printf("请输入第%d个学生的百分制成绩:", i + 1);
scanf("%d", &score[i]);
}
// 将百分制成绩转换为五级值成绩
for (i = 0; i < 5; i++)
{
if (score[i] >= 90)
grade[i] = 'A';
else if (score[i] >= 80)
grade[i] = 'B';
else if (score[i] >= 70)
grade[i] = 'C';
else if (score[i] >= 60)
grade[i] = 'D';
else
grade[i] = 'E';
}
// 输出每个学生的五级值成绩
for (i = 0; i < 5; i++)
{
printf("第%d个学生的五级值成绩为:%c\n", i + 1, grade[i]);
}
return 0;
}
```
在此示例代码中,我们定义了一个整型数组score存储每个学生的百分制成绩,另外定义了一个字符型数组grade存储每个学生的五级值成绩。使用for循环结构遍历每个学生的百分制成绩,并使用if-else语句将其转换为五级制成绩,最后使用for循环结构输出每个学生的五级制成绩。