编写函数,求一组数中的最大值、最小值和平均值。 函数接口定义: float fun(int a[],int n,int *max,int *min); 其中 a、n、max 和 min 都是用户传入的参数。函数求a数组中n个元素的最大值、最小值和平均值。最大值和最小值分别通过max 和 min带回,函数返回平均值 。 裁判测试程序样例: #include <stdio.h> float fun(int a[],int n,int *max,int *min); int main() { int x[10],i,m,n; float p; for(i=0;i<10;i++) scanf("%d",&x[i]); p=fun(x,10,&m,&n); printf("max=%d,min=%d,average=%.2f\n",m,n,p); return 0; } /* 请在这里填写答案 */ 输入样例: 2 5 4 8 6 9 1 3 7 0 输出样例: max=9,min=0,average=4.50
时间: 2024-03-09 12:47:44 浏览: 64
C语言程序设计-编写自定义函数max,用来求三个数的最大值(要求:数据的输入、输出在主函数中实现)。
5星 · 资源好评率100%
根据题目要求,可以编写如下函数:
```c
float fun(int a[], int n, int *max, int *min) {
float sum = 0.0f;
*max = a[0];
*min = a[0];
for (int i = 0; i < n; i++) {
sum += a[i];
if (a[i] > *max) *max = a[i];
if (a[i] < *min) *min = a[i];
}
return sum / n;
}
```
其中,a 是整数数组,n 是数组的长度,max 和 min 是指向最大值和最小值的指针。函数中使用循环遍历整个数组,找到最大值和最小值,并累加数组元素的值。最后,计算平均值并返回。在函数调用结束后,指针 max 和 min 所指向的变量即为最大值和最小值。在 main 函数中,先输入 10 个整数,然后调用 fun 函数,将最大值和最小值的地址传给函数,并接收函数返回的平均值。最后输出最大值、最小值和平均值即可。完整代码如下:
```c
#include <stdio.h>
float fun(int a[], int n, int *max, int *min) {
float sum = 0.0f;
*max = a[0];
*min = a[0];
for (int i = 0; i < n; i++) {
sum += a[i];
if (a[i] > *max) *max = a[i];
if (a[i] < *min) *min = a[i];
}
return sum / n;
}
int main() {
int x[10], max, min;
float average;
for (int i = 0; i < 10; i++) {
scanf("%d", &x[i]);
}
average = fun(x, 10, &max, &min);
printf("max=%d,min=%d,average=%.2f\n", max, min, average);
return 0;
}
```
输出结果为:
```
max=9,min=0,average=4.50
```
阅读全文