要求编写一程序,在主函数内,从键盘输入十个大于0小100的数,存入数组中,然后将数组作为函数参数传入子函数,在子函数中将数组中的十个数,去掉一个最大数去掉一个最小数,再求其平均数,将算出的平均数返回主函数中,在主函数中打印输出,要求保留两位有效数字。
应该是要求保留两位小数才对。若是“保留两位有效数字”,等于是四舍五入到整数(因为原来的数的平均数,基本都是大于10的。
#include<stdio.h>
float av(int a[])
{int s=0,max=a[0],min=a[0],i;
for(i=0;i<10;i++)
{s+=a[i];
if(a[i]>max)max=a[i];
if(a[i]<min)min=a[i];
}
return (s-max-min)/8.0;
}
int main()
{ int i,a[10];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("%.2f\n",av(a));
return 0;
}