评委打分(C++)
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 <iomanip>
using namespace std;
int main()
{
int n, m, a[100];
double grade;
while (true)//进行循环
{
cin >> n;//输入评委个数
grade = 0;
m= 0;
for (int i = 0; i < n; i++)//输入数据
{
cin >> a[i];
grade += a[i];//数据求和
}
for (int i = 0; i < n; i++)//排序求出最大值
{
if (a[i] > m)
{
m = a[i];
}
}
for (int i = 0; i < n; i++)//排序求出最小值
{
if (a[0] > a[i])
{
a[0] = a[i];
}
}
grade = (grade - m - a[0]) / (n - 2);//计算分数
cout << setprecision(2) << fixed << grade << endl;//输出保留两位小数后的分数(<iomanip>C++函数库中的保留小数点后两位的函数)
}
return 0;
}

浙公网安备 33010602011771号