编写函数,求有n个元素的一维数组中的最大值和最小值,并返回数组元素的平均值,函数原形如下:
double fun(int a[],int n,int *max,int *min);
输入输出格式:
输入:输入n+1个数,各个数之间用空格分隔。第一个数为数组元素的个数n。
输出:3个数字。第一个数字为数组中的最大元素值,第二个数字为数组中的最小元素值,第三个数字为数组元素的平均值(保留小数点后6位有效数字)。3个数之间用空格分开。
样例:
输入:3 1 5 9
输出:9 1 5.000000
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
double fun(int a[], int n, int* max, int* min);
int main()
{
int n;
int a[100];
(void)scanf("%d", &n);
for (int i = 0; i < n; i++)
{
(void)scanf("%d", &a[i]);
}
int max;
int min;
double average = fun(a, n, &max, &min);
printf("%d %d %lf", max, min, average);
return 0;
}
double fun(int a[], int n, int* max, int* min)
{
double sum = 0; //求和
*max = *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;
}