请教个问题
#include<stdio.h>int main()
{
void max_min(float a[10]);
float a[10],sum,average;
int i;
printf("\n");
for(i=0;i<10;i++)
{printf("请输入评委%d的打分:",i+1);
scanf("%f",&a[i]);}
max_min(a);
for(i=0;i<8;i++)
printf(" %2.2f ",a[i]);
printf("\n");
sum=0;
for(i=0;i<8;i++)
sum=sum+a[i];
average=sum/8;
printf("故平均分为:%3.2f\n",average);
return 0;
}
void max_min(float b[10])
{ float max,min;
int t1,t2,i;
max=b[0];
t1=0;
for(i=0;i<10;i++)
if(max<b[i])
{
max=b[i];
t1=i;
}
for(i=t1;i<=10;i++)
b[i]=b[i+1]; /*找出最大值的坐标,并将所有之后的数字前移*/
min=b[0];
t2=0;
for(i=0;i<10;i++)
if(min>b[i])
{
min=b[i];
t2=i;
}
for(i=t2;i<9;i++)
b[i]=b[i+1]; /*同上,找最小的*/
}
这个程序是为了去掉数组中最大最小值并输出(保持原来顺序不要动的输出)然后计算均值并输出,但是运行起来每次被删的都只有最大值和最后一个值。。不知道为什么,有大神能剖析一下为什么吗?十分感谢!