一组成绩已经放在score数组中,现在想要将其中低于平均分的成绩放在below数组中,并且呢,用形参返回低于平均分人数的个数,请你写一个C语言的程序
时间: 2024-09-09 08:01:32 浏览: 42
EDA/PLD中的如何将一维数组作为函数形参来使用
下面是一个C语言程序,该程序将执行您所描述的任务:
```c
#include <stdio.h>
// 函数声明,用于计算平均分和低于平均分的人数,并将低于平均分的成绩存入below数组
int below_average(int score[], int length, int below[], int *count);
int main() {
int score[] = {75, 85, 62, 95, 88, 91, 70, 59}; // 示例成绩数组
int length = sizeof(score) / sizeof(score[0]); // 成绩数组长度
int below[length]; // 存放低于平均分成绩的数组
int count = 0; // 低于平均分的人数
// 调用函数
count = below_average(score, length, below, &count);
// 打印低于平均分的成绩和人数
printf("低于平均分的成绩有:");
for (int i = 0; i < count; ++i) {
printf("%d ", below[i]);
}
printf("\n低于平均分的人数为:%d\n", count);
return 0;
}
// 函数定义,计算平均分和低于平均分的人数,并将低于平均分的成绩存入below数组
int below_average(int score[], int length, int below[], int *count) {
int sum = 0;
for (int i = 0; i < length; ++i) {
sum += score[i]; // 累加成绩
}
float average = (float)sum / length; // 计算平均分
int j = 0;
for (int i = 0; i < length; ++i) {
if (score[i] < average) {
below[j++] = score[i]; // 如果成绩低于平均分,则存入below数组
}
}
*count = j; // 更新低于平均分的人数
return *count; // 返回低于平均分的人数
}
```
这段代码定义了一个`below_average`函数,它计算给定成绩数组的平均分,并将低于平均分的成绩存入`below`数组中。同时,通过指针参数`count`返回低于平均分的人数。`main`函数中,我们调用这个函数并打印结果。
阅读全文