在main函数中初始化一个数组 int a[5]={1,2,3,4,5}。将数组传入函数find_max_min_ave,函数返回该数组的最大、最小、平均值。在主函数中,输出数组的最大、最小、平均值。 要求:不用指针、不用全局变量、函数返回类型为void、函数只允许调用一次。
时间: 2023-03-30 08:01:35 浏览: 104
在main函数传值调用
好的,这是一个关于 C 语言的问题。可以回答。
可以使用以下代码实现:
#include <stdio.h>
void find_max_min_ave(int a[], int n, int *max, int *min, float *ave) {
int i;
*max = *min = a[];
*ave = ;
for (i = ; i < n; i++) {
if (a[i] > *max) {
*max = a[i];
}
if (a[i] < *min) {
*min = a[i];
}
*ave += a[i];
}
*ave /= n;
}
int main() {
int a[5] = {1, 2, 3, 4, 5};
int max, min;
float ave;
find_max_min_ave(a, 5, &max, &min, &ave);
printf("最大值:%d\n", max);
printf("最小值:%d\n", min);
printf("平均值:%f\n", ave);
return ;
}
这个程序中,我们定义了一个函数 find_max_min_ave,它接受一个整型数组 a,数组长度 n,以及三个指针 max、min 和 ave。函数通过遍历数组,找到最大值、最小值和平均值,并将它们分别存储在 max、min 和 ave 指向的变量中。
在主函数中,我们定义了一个数组 a,然后调用函数 find_max_min_ave,将数组 a 和三个指针传递给函数。函数返回后,我们可以通过指针获取最大值、最小值和平均值,并将它们输出到屏幕上。
希望这个回答对你有帮助!
阅读全文