用c语言问题描述】自定义函数,求一个一维数组的最大值和平均值,在主函数调用并输出。
时间: 2024-02-26 20:58:01 浏览: 111
好的,下面就是 C 语言的代码实现:
```c
#include <stdio.h>
void maxAvg(int arr[], int size, int *max, double *avg) {
*max = arr[0]; // 最大值初始化为第一个元素
int sum = arr[0]; // 所有元素之和初始化为第一个元素
for (int i = 1; i < size; i++) {
if (arr[i] > *max) {
*max = arr[i]; // 更新最大值
}
sum += arr[i]; // 累加元素
}
*avg = (double) sum / size; // 计算平均值
}
int main() {
int arr[] = {1, 3, 5, 7, 9};
int size = sizeof(arr) / sizeof(int);
int max;
double avg;
maxAvg(arr, size, &max, &avg);
printf("最大值为:%d\n", max);
printf("平均值为:%lf\n", avg);
return 0;
}
```
这个函数的实现过程很简单,就是遍历数组,找到最大值并累加所有元素的值,最后计算平均值。在主函数中,我们定义了一个整型数组和它的长度,然后调用 `maxAvg` 函数计算出最大值和平均值,最后输出结果。注意,为了能够修改 `max` 和 `avg` 的值,我们需要将它们的地址传递给 `maxAvg` 函数,因此在函数的参数中使用了指针。
阅读全文