自定义函数,求一个一维数组的最大值和平均值,在主函数调用并输出。
时间: 2024-02-26 17:58:28 浏览: 79
好的,这里是一个示例代码:
```
#include <stdio.h>
void getMaxAndAvg(int arr[], int len, int* max, float* avg) {
int sum = 0;
*max = arr[0];
for (int i = 0; i < len; i++) {
if (arr[i] > *max) {
*max = arr[i];
}
sum += arr[i];
}
*avg = (float)sum / len;
}
int main() {
int arr[5] = {5, 3, 9, 7, 1};
int max;
float avg;
getMaxAndAvg(arr, 5, &max, &avg);
printf("Max: %d\n", max);
printf("Avg: %.2f\n", avg);
return 0;
}
```
我们定义了一个名为 `getMaxAndAvg` 的函数,它接受一个整型数组 `arr`、数组长度 `len`,以及两个指针 `max` 和 `avg`。这个函数会遍历整个数组,找到最大值并计算平均值,最后将结果通过指针返回给主函数。
在主函数中,我们定义了一个数组 `arr`,调用 `getMaxAndAvg` 函数,获取最大值和平均值,并使用 `printf` 函数输出结果。
这里需要注意的是,我们通过指针将 `max` 和 `avg` 的地址传递给了函数,这样在函数内部就可以通过解引用操作修改它们的值,这样就可以在主函数中获取到计算结果。
阅读全文