c语言编写一个实型百分制成绩转换成五级成绩
时间: 2024-09-30 15:05:00 浏览: 56
学生成绩管理系统c语言代码供.doc
5星 · 资源好评率100%
在C语言中,我们可以编写一个函数将实型的百分制成绩转换为五级成绩(A、B+、B、C+、C)。通常,这种转换会设定一些等级的分数线,比如90分以上为A,80-89分为B+,70-79分为B,60-69分为C+,60分以下为C。下面是一个简单的示例:
```c
#include <stdio.h>
// 定义常量和函数
#define MAX_SCORE 100
#define A_THRESHOLD 90
#define B_PLUS_THRESHOLD 80
#define B_THRESHOLD 70
#define C_PLUS_THRESHOLD 60
char grade(double score) {
if (score >= MAX_SCORE)
return 'A'; // 成绩超过满分,假设为A
else if (score >= A_THRESHOLD)
return 'A'; // 90分及以上为A
else if (score >= B_PLUS_THRESHOLD)
return 'B+'; // 80-89分,包含边界为B+
else if (score >= B_THRESHOLD)
return 'B'; // 70-79分,包含边界为B
else if (score >= C_PLUS_THRESHOLD)
return 'C+'; // 60-69分,包含边界为C+
else
return 'C'; // 60分及以下为C
}
int main() {
double student_score;
printf("请输入学生的百分制成绩:");
scanf("%lf", &student_score);
char result_grade = grade(student_score);
printf("五级成绩转换结果:%.2f 分 - %c\n", student_score, result_grade); // 打印结果
return 0;
}
```
在这个程序中,用户输入百分制成绩,`grade()` 函数根据给定的分数线返回相应的字母等级。注意,实际应用中,如果需要更精确地处理分数边界,可以考虑使用`<`运算符而不是`=`, 例如 `if (score > A_THRESHOLD)`。
阅读全文