求一组数中的平均值及最大值
本题要求实现一个函数,求一组数的平均值、最大值。
测试程序样例:
#include <stdio.h>
#define N 5
float Fun(int *p, int n, int *max);
int main()
{
int a[10], i, max;
int *pa = a;
float ave;
for (i = 0; i < N; i++)
scanf("%d", &a[i]);
ave = Fun(pa, N, &max);
printf("max=%d,average=%.2f", max, ave);
return 0;
} /* 请在这里填写答案 */
输入样例:
45 60 78 90 55
输出样例:
max=90,average=65.60
AC代码:
float Fun(int *p, int n, int *max){
float avg = 0;
int i, sum = 0;
*max = p[0];
for (i = 0; i<n; i++){
sum += p[i];
if (p[i] > *max){
*max = p[i];
}
}
avg = sum*1.0/n;
return avg;
}
在这里有两点注意:
1.最大值的指针传递方式
2.传入的参数是整数型(int)要转换成浮点型可以直接乘一个0.1,比较方便。