编写函数,寻找具有n个元素的一维数组中的最大值和最小值,并返回数组元素的平均值,函数原形如下:
double fun(int a[],int n,int *max,int *min);
如输入:
5
2 4 5 3 1
则输出为:
5
1
3.000000
样例:
3
10 15 -10
输出:
15 -10 5.000000
#include<stdio.h>
double fun(int a[], int n, int *max, int *min)
{
double mean = 0;
int sum = 0;
for (int i = 0; i < n; i++)
{
scanf_s("%d", &a[i]);
}
*max = a[0];
*min = a[0];
for (int i = 0; i < n; i++)
{
if (a[i] >= *max)
{
*max = a[i];
}
if (a[i] <= *min)
{
*min = a[i];
}
sum = sum + a[i];
}
mean = (double)sum / n; //类型转换
return mean;
}
int main()
{
int a[200] = { 0 }, n;
double mean;
int max = 0, min = 0;
scanf_s("%d\n", &n);
mean = fun(a, n, &max, &min);
printf("%d\n%d\n%f", max, min, mean);
return 0;
}