青年歌手大奖赛_评委会打分
Problem Description
青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。
Input
输入数据有多组,每组占一行,每行的第一个数是n(2<n<=100),表示评委的人数,然后是n个评委的打分。
Output
对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。
Sample Input
3 99 98 97
4 100 99 98 97
Sample Output
98.00
98.50
题目分析
这个题好像不用考虑最大(小)值崔在多个的情况大大减小了难度
无序数组排序变为有序数组即可
代码
在这里插入代码片
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF){
int a[100],i,sum=0;
double average;
for(i=0;i<n;i++) scanf("%d",&a[i]);
int k,te,in;
for(k=0;k<n-1;k++){
in=k;
for(i=k+1;i<n;i++) if(a[i]>a[in]) in=i;
te=a[in];
a[in]=a[k];
a[k]=te;
}
for(i=1;i<n-1;i++) sum+=a[i];
average=sum/(n-2.0);
printf("%.2lf\n",average);
}
return 0;
}