题目描述
现在有 n(n \le 1000)n(n≤1000) 位评委给选手打分,分值从 00 到 1010。需要去掉一个最高分,去掉一个最低分(如果有多个最高或者最低分,也只需要去掉一个),剩下的评分的平均数就是这位选手的得分。现在输入评委人数和他们的打分,请输出选手的最后得分,精确到 22 位小数。
输入格式
第一行输入一个正整数 nn,表示有 nn 个评委。
第二行输入 nn 个正整数,第 ii 个正整数表示第 ii 个评委打出的分值。
输出格式
输出一行一个两位小数,表示选手的最后得分。
输入输出样例
输入 #1复制
5 9 5 6 8 9
输出 #1复制
7.67
说明/提示
数据保证,3 \leq n \leq 10003≤n≤1000,每个评委打出的分值为为 00 到 1010(含 00 与 1010)之间的整数。
#include<iostream>
#include<algorithm>
using namespace std;
int a[10000];
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++) cin>>a[i];
double b=0;
sort(a,a+n);
for(int i=1;i<=n-2;i++) {
b+=a[i]*1.0;
}
printf("%.2lf",b/(n-2));
return 0;
}