不知道我的程序哪里有错。。。。求帮忙,谢啦
青年歌手大奖赛中,评委给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分(average score),请编程输出选手的得分。Input
有多组数据 ,每组占一行,每行的第一个数是n ( 2 < n < 100 ),表示评委(judge)的人数,然后是n个评委的打分。
Output
为每组输入数据输出一行结果:选手的得分,结果保留2位小数。
Sample Input
3 99 98 97
4 100 99 98 97
Sample Output
98.00
98.50
Author
John
#include<stdio.h>
int main()
{
int i,n,k,index,temp;int a[97];double sum=0;int b;double s;
s=0;
while(scanf("%d",&n)==1){
if(n<=2||n>=100)break;
b=n-2;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(k=0;k<n-1;k++){
index=k;
for(i=k+1;i<n;i++)
if(a[i]<a[index]) index=i;
temp=a[index];
a[index]=a[k];
a[k]=temp;}
for(i=1;i<n-1;i++)
sum+=a[i];
s=sum/b;
printf("%.2lf\n",s);}
for(i=0;i<n;i++)
a[i]=0;
return 0;}