用c语言编程输入10个学生的成绩,求平均成绩,并将低于平均成绩的分数打印出来。其中三个自定义函数readdata()、aver()、和print()分别用来输入学生成绩、求平均分和打印低于平均成绩的分数。
时间: 2024-02-28 18:54:35 浏览: 110
好的,下面是代码实现:
```c
#include <stdio.h>
void readdata(float score[], int n);
float aver(float score[], int n);
void print(float score[], int n, float average);
int main() {
const int n = 10;
float score[n];
float average;
readdata(score, n);
average = aver(score, n);
print(score, n, average);
return 0;
}
void readdata(float score[], int n) {
int i;
printf("请输入10个学生的成绩:\n");
for (i = 0; i < n; i++) {
scanf("%f", &score[i]);
}
}
float aver(float score[], int n) {
int i;
float sum = 0.0;
for (i = 0; i < n; i++) {
sum += score[i];
}
return sum / n;
}
void print(float score[], int n, float average) {
int i, count = 0;
printf("平均成绩为:%.2f\n", average);
printf("低于平均成绩的有:\n");
for (i = 0; i < n; i++) {
if (score[i] < average) {
printf("%.2f ", score[i]);
count++;
}
}
if (count == 0) {
printf("无\n");
}
printf("\n");
}
```
这个程序中使用了三个函数:`readdata()` 用来输入学生成绩,`aver()` 用来求平均分,`print()` 用来打印低于平均成绩的分数。在 `main()` 函数中,先定义了一个长度为 10 的数组 `score`,然后依次调用这三个函数,最后返回 0 表示程序正常结束。
`readdata()` 函数中使用了 `scanf()` 来输入 10 个学生的成绩,将它们存储在数组 `score` 中。
`aver()` 函数中使用了一个 `for` 循环来计算总分数,然后除以学生人数 `n`,得到平均分数。
`print()` 函数中使用了一个 `for` 循环遍历数组 `score`,如果分数低于平均分数,就打印出来,并记录低于平均分数的人数 `count`。如果没有人低于平均分数,就打印出 “无”。
这个程序可以很好地演示如何使用函数来组织代码,使得程序更加清晰易懂。
阅读全文