pta例题
求一组数中的最大值、最小值和平均值(利用指针)
函数接口定义:
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
代码
float fun(int a[],int n,int *max,int *min) { int i; float sum = 0; *min=*max=a[0]; for(i=0;i<10;i++) { if(a[i]>*max){ *max = a[i]; } if(a[i]<*min){ *min = a[i]; } sum+=a[i]; } return sum/n; }