"2023精选C语言面试编程题:成绩统计与分析"

需积分: 1 2 下载量 148 浏览量 更新于2024-01-26 收藏 456KB DOC 举报
本题要求编写一个函数`fun`,其功能是获取存放在`score`数组中的个人成绩数据,并统计低于平均分的人数,将低于平均分的分数存放在`below`指向的数组中。 首先,我们需要计算平均分,即将`score`数组中所有元素相加并除以数组长度。 然后,我们需要遍历`score`数组,判断每个元素是否低于平均分。如果是,则将该分数存放在`below`数组中,并增加低于平均分的人数计数器。 最后,返回低于平均分的人数计数器的值。 下面是具体的解法: ```c #include <stdio.h> int fun(int score[], int n, int below[], int *belowCount) { int sum = 0; int avg = 0; *belowCount = 0; for (int i = 0; i < n; i++) { sum += score[i]; } avg = sum / n; for (int i = 0; i < n; i++) { if (score[i] < avg) { below[*belowCount] = score[i]; (*belowCount)++; } } return *belowCount; } int main() { int score[] = {10, 20, 30, 40, 50, 60, 70, 80, 90}; int below[9]; int belowCount; int count = fun(score, 9, below, &belowCount); printf("低于平均分的人数为:%d\n", count); printf("低于平均分的分数为:"); for (int i = 0; i < count; i++) { printf("%d ", below[i]); } return 0; } ``` 以上代码中,我们定义了一个函数`fun`来实现题目要求的功能。`fun`函数接收4个参数,分别是存放个人成绩的数组`score`、数组长度`n`、存放低于平均分的分数的数组`below`和一个指向低于平均分的人数计数器的指针`belowCount`。该函数首先计算出平均分,然后遍历`score`数组判断是否低于平均分,如果是,将该分数存放在`below`数组中并增加`belowCount`的值。 在主函数中,我们定义了一个`score`数组存放个人成绩,定义了`below`数组用于存放低于平均分的分数,定义了`belowCount`变量用于记录低于平均分的人数。然后调用`fun`函数并打印输出低于平均分的人数和分数。 综上所述,以上代码可实现题目要求的功能。
2023-02-27 上传