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<iostream>
#include<vector>
#include<algorithm>
#include<iomanip>
using namespace std;
int main() {
int n;
while (cin >> n) {
vector grades;
int num = n;
int sum=0;
int grade;
while (n--) {
cin >> grade;
grades.push_back(grade);
}
sort(grades.begin(), grades.end());
for (int i = 1; i < num-1; i++) {
sum = sum + grades[i];
}
float avg;
avg = float(sum) / (num - 2);
cout << setiosflags(ios::fixed);
cout.precision(2);
cout << avg << endl;
}
}


最新评论