c语言写一个函数:求一组数组元素的平均分,最高分和最低分,主函数完成输入数据并调用函数完成该功能。
时间: 2024-02-19 10:57:15 浏览: 52
好的,以下是实现求一组数组元素的平均分、最高分和最低分的C语言函数及主函数代码:
```c
#include <stdio.h>
void calc_scores(int scores[], int n, float *avg, int *max, int *min) {
int sum = 0;
*max = scores[0];
*min = scores[0];
for (int i = 0; i < n; i++) {
sum += scores[i];
if (scores[i] > *max) {
*max = scores[i];
}
if (scores[i] < *min) {
*min = scores[i];
}
}
*avg = sum / (float)n;
}
int main() {
int n, max, min;
float avg;
printf("请输入数组元素个数:");
scanf("%d", &n);
int scores[n];
printf("请输入%d个成绩:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &scores[i]);
}
calc_scores(scores, n, &avg, &max, &min);
printf("平均分为:%.2f\n", avg);
printf("最高分为:%d\n", max);
printf("最低分为:%d\n", min);
return 0;
}
```
函数`calc_scores`接收一个整型数组`scores`、数组元素个数`n`和3个指针参数,其中`avg`指向平均分的变量,`max`指向最高分的变量,`min`指向最低分的变量。函数遍历整个数组,累加求和并找到最高分和最低分,最后计算平均分并赋值给`avg`。
主函数先通过`scanf`读入数组元素个数`n`,然后动态定义一个大小为`n`的数组`scores`,并通过`scanf`读入数组元素。最后调用`calc_scores`函数得到平均分、最高分和最低分,输出结果。
阅读全文