编写程序,要求输入5个学生的成绩,输出学生间的最高分、平均分和最低分 其中,输入成绩为带1位小数的浮点数,输出时要有文字说明,取小数点后2位数字。 (允许使用math.h函数库)
时间: 2024-11-15 15:24:26 浏览: 0
编写这样一个程序,你可以按照以下步骤进行:
```c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void input_scores(float scores[], int num_students) {
for (int i = 0; i < num_students; i++) {
scanf("%f", &scores[i]);
}
}
void calculate_stats(float scores[], int num_students, float* max_score, float* avg_score, float* min_score) {
*max_score = scores[0];
*min_score = scores[0];
float sum = 0;
for (int i = 0; i < num_students; i++) {
if (scores[i] > *max_score) {
*max_score = scores[i];
} else if (scores[i] < *min_score) {
*min_score = scores[i];
}
sum += scores[i];
}
*avg_score = sum / num_students;
printf("最高分:%.2f\n", *max_score);
printf("平均分:%.2f\n", *avg_score);
printf("最低分:%.2f\n", *min_score);
}
int main() {
const int num_students = 5;
float scores[num_students];
float max_score, avg_score, min_score;
input_scores(scores, num_students);
calculate_stats(scores, num_students, &max_score, &avg_score, &min_score);
return 0;
}
```
这个程序首先通过`input_scores`函数获取5个学生的成绩,然后使用`calculate_stats`函数计算最高分、平均分和最低分,并将结果打印出来,保留两位小数。`math.h`库在此处并未直接使用,但如果需要后续对分数进行四舍五入等操作,可以考虑引入。
阅读全文