1.交换的时候没有注意
2.冒泡排序有问题
正确代码如下:
#include"stdio.h"
int main()
{int a[200],j,i,sum=0,n,tmp;
double ans;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]); //数组输入
for(i=0;i<n;i++) //冒泡排序
{
for(j=0;j<n-i-1;j++)
{
if(a[j]<a[j+1])
{
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
}
for(int c=1;c < n-1;c++) //从a[1]加到在a[n-2]
sum=a[c]+sum;
ans=(sum*(1.0))/(n-2);
printf("%.2lf\n",ans);
sum=0;
}
return 0;
}