编写一个清晰、准确且美观的成绩评估程序需要遵循一定的结构和格式。以下是一个改进后的示例,结合了简洁的代码和清晰的说明:
```c
include
// 函数声明
void evaluate_scores(int n, double scores[]);
void print_evaluation_results(int n, double scores[]);
int main() {
int n;
printf("请输入需要评定的成绩个数: ");
scanf("%d", &n);
double scores[n];
printf("请输入 %d 个成绩: ", n);
for (int i = 0; i < n; i++) {
scanf("%lf", &scores[i]);
}
evaluate_scores(n, scores);
print_evaluation_results(n, scores);
return 0;
}
// 评估成绩函数
void evaluate_scores(int n, double scores[]) {
for (int i = 0; i < n; i++) {
if (scores[i] >= 90) {
printf("A\n");
} else if (scores[i] >= 80) {
printf("B\n");
} else if (scores[i] >= 70) {
printf("C\n");
} else if (scores[i] >= 60) {
printf("D\n");
} else {
printf("Invalid\n");
}
}
}
// 打印评估结果函数
void print_evaluation_results(int n, double scores[]) {
printf("成绩评估结果:\n");
for (int i = 0; i < n; i++) {
printf("成绩 %d: %lf -> %s\n", i + 1, scores[i], scores[i] >= 90 ? "A" : (scores[i] >= 80 ? "B" : (scores[i] >= 70 ? "C" : "D")));
}
}
```
代码说明:
主函数 `main` :提示用户输入成绩个数。
读取用户输入的成绩并存储在数组中。
调用 `evaluate_scores` 函数进行成绩评估。
调用 `print_evaluation_results` 函数打印评估结果。
评估成绩函数 `evaluate_scores`
:
遍历成绩数组,根据成绩范围判定等级并输出结果。
打印评估结果函数 `print_evaluation_results`:
遍历成绩数组,输出每个成绩及其对应的等级。
改进点:
代码结构清晰: 将输入、评估和输出分开,便于理解和维护。 使用条件语句
注释说明:在关键部分添加注释,帮助理解代码功能。
示例输出:
```
请输入需要评定的成绩个数: 4
请输入 4 个成绩: 84 128 45.3 97
成绩评估结果:
成绩 1: 84.000000 -> B
成绩 2: 128.000000 -> Invalid
成绩 3: 45.300000 -> D
成绩 4: 97.000000 -> A
```
通过这种方式,你可以创建一个既美观又实用的成绩评估程序。