A25988. 平均值提示信息歌唱比赛中有10名评委。评分规则是:每名评委给出一个0~100之间的分数,然后从10名评委所评分数中,去掉一个最高分,再去掉一个最低分,对剩余分数取平均值作为选手的最终得分。
填空题
较易
知识点
题目描述
平均值
提示信息
歌唱比赛中有10名评委。评分规则是:每名评委给出一个0~100之间的分数,然后从10名评委所评分数中,去掉一个最高分,再去掉一个最低分,对剩余分数取平均值作为选手的最终得分。
题目描述
给定10个评委的评分,然后去掉一个最高分,再去掉一个最低分后,求出剩余分数的平均值,作为选手最终得分。
输入描述
输入10个正整数(O≤正整数≤100)表示10位评委评分,正整数之间以一个空格分隔。
输出描述
去掉一个最高分和一个最低分后,求出剩余分数的平均值,作为选手最终得分,并将其输出。 (计算结果保留全部小数位数)
样例输入
80 85 83 89 98 75 80 90 78 65样例输出
82.5参考答案
#include <bits/stdc++.h>
using namespace std;
int main() {
// freopen("0.in","r",stdin);
// freopen("0.out","w",stdout);
int a[16];
int ans = 0;
int i;
for (i = 0; i < 10; i++)
scanf("%d", &a[i]);
sort(a, a + 10);
for (i = 1; i < 9; i++)
ans += a[i];
printf("%g", ans * 1.0 / 8.0);
// fclose(stdin);
// fclose(stdout);
return 0;
}答案解析
// 参考代码2
#include <algorithm>
#include <cstdio>
#include <iostream>
using namespace std;
int a[11];
int ans;
int main() {
for (int i = 1; i <= 10; i++) {
scanf("%d", &a[i]);
ans += a[i];
}
sort(a + 1, a + 11);
ans -= (a[1] + a[10]);
double ave = 1.0 * ans / 8;
cout << ave;
return 0;
}
上一题
下一题