1.题目:
2.答案:
#include <stdio.h>
double fun(double a[ ] , int n)
{
int i;
double aver=0,sum=0,max=0,min=999;
//找到最高分和最低分
for(i=0;i<10;i++)
{
if(max<a[i])
max=a[i];
if(min>a[i])
min=a[i];
}
//计算总分(去掉最高分和最低分) /* 或者这样写
for (i = 0; i < n; i++)
{
if (a[i] != max && a[i] != min)
{
sum += a[i];
}
}
*/
for(i=0;i<10;i++)
{
if(a[i]==max||a[i]==min)
{
a[i]=0;
}
sum+=a[i];
}
//计算平均值
aver=sum/(n-2);
return aver;
}
main()
{ double b[10], r; int i;
printf("输入10个分数放入b数组中 : ");
for (i=0; i<10; i++) scanf("%lf",&b[i]);
printf("输入的10个分数是 : ");
for (i=0; i<10; i++) printf("%4.1lf ",b[i]); printf("\n");
r = fun(b, 10);
printf("去掉最高分和最低分后的平均分 : %f\n", r );
}
3.注意:不用再写n++了,因为通过函数的调用n已经赋值为10了。