以c语言为基础,2、编写一个通用函数,该函数可以求出任意一个数值型数组的最大值、最小值和平均值。编写主程序,数组初始化不限,然后调用该函数实现最值和平均值的输出。
时间: 2025-01-20 19:14:35 浏览: 57
在C语言中,我们可以创建一个通用函数来计算数组的最大值、最小值和平均值。首先,我们需要定义一个结构体来存储最大值、最小值以及元素的数量。然后编写三个独立的函数,分别用于计算最大值、最小值和累加求平均。最后,在主程序中初始化数组并调用这些函数。
```c
#include <stdio.h>
#include <limits.h>
// 结构体用于保存数组信息
typedef struct {
double max;
double min;
int count;
} ArrayInfo;
// 函数声明
ArrayInfo findMaxMinAverage(double arr[], int n);
void printArrayInfo(ArrayInfo info);
int main() {
// 初始化一个数组
double arr[] = {5, 2, 9, 1, 7, 3};
int n = sizeof(arr) / sizeof(arr[0]);
// 调用通用函数获取信息
ArrayInfo arrayInfo = findMaxMinAverage(arr, n);
// 输出结果
printf("最大值: %.2f\n", arrayInfo.max);
printf("最小值: %.2f\n", arrayInfo.min);
printf("平均值: %.2f\n", (double)arrayInfo.count / n * arrayInfo.max);
return 0;
}
// 定义通用函数
ArrayInfo findMaxMinAverage(double arr[], int n) {
ArrayInfo info;
info.max = arr[0];
info.min = arr[0];
info.count = 1;
for (int i = 1; i < n; i++) {
if (arr[i] > info.max)
info.max = arr[i];
else if (arr[i] < info.min)
info.min = arr[i];
info.count++;
}
return info;
}
```
在这个例子中,`findMaxMinAverage`函数接受一个数组和它的长度作为输入,遍历整个数组找到最大值和最小值,并更新计数器。`printArrayInfo`函数则用于打印计算结果。在`main`函数中,我们创建了一个示例数组,然后调用这两个函数来获取和显示数组的信息。
阅读全文
相关推荐



















