描述 学校举办歌手大赛,每个选季由n名评委进行打 分,然后在所有评分中去掉一个最高分和一个 最低分,剩下的n-2个评分的平均值,即为该选手的最终得分。 编写程序实现:输入第一行指定n的值,从第二 行开始每行输入一个评委的打分(共n行,满分 10分),按照上述计算选手的最终得分,保留一位小数输出。用c++
时间: 2023-06-17 09:02:50 浏览: 260
以下是实现该程序的代码:
```c++
#include <iostream>
#include <algorithm>
#include <iomanip>
using namespace std;
int main() {
int n;
cin >> n;
double scores[n];
for (int i = 0; i < n; i++) {
cin >> scores[i];
}
sort(scores, scores + n);
double sum = 0;
for (int i = 1; i < n - 1; i++) {
sum += scores[i];
}
double avg_score = sum / (n - 2);
cout << fixed << setprecision(1) << avg_score << endl;
return 0;
}
```
程序首先读取评委数量n和每个评委的打分,将这些分数存储在数组中,并使用sort函数对数组进行排序。接下来,程序计算所有分数的总和,但排除最高分和最低分,最后除以n-2,得出选手的最终得分。最后,程序使用fixed和setprecision函数保留一位小数输出选手的最终得分。
相关问题
使用【python】写【校举办新生歌手大赛,每个选手的成绩由评委的评分去掉一个最高分和一个最低分剩下评分的平均值得到。 编写程序实现:第一行输入一个数字代表评委个数n,从第二行开始每行输入一个评委的得分(共n行),计算选手的成绩并输出(结果保留一位小数)。】的代码
你可以使用以下Python代码来实现这个功能:
```python
# 输入评委人数
n = int(input("请输入评委数量:"))
# 初始化分数变量
scores = []
for _ in range(n):
score = float(input(f"请输入第{(_+1)}位评委的得分:"))
scores.append(score)
# 找到最高分和最低分
max_score = max(scores)
min_score = min(scores)
# 去掉最高分和最低分
filtered_scores = [s for s in scores if s != max_score and s != min_score]
# 计算平均分
average_score = sum(filtered_scores) / (len(filtered_scores))
# 输出选手成绩,保留一位小数
final_score = round(average_score, 1)
print(f"选手的成绩为:{final_score}")
```
这段代码首先读取评委的数量,然后依次接收每位评委的得分并存储在一个列表中。接着找出最高分和最低分,通过列表推导式去除这两个极端值,最后计算剩余得分的平均值并四舍五入到一位小数,输出选手的最终成绩。
题目描述 济南大学现举行新生歌手大赛,评分规则是这样的:一共有10个评委给每个歌手打分,分数采用百分制,算分时去掉一个最高分,去掉一个最低分,取其余8个评委的平均分作为歌手的得分。现有多个歌手的得分,请计算出他们每个人的得分。 输入 输入数据有多组,每组是一个歌手的打分,包括10个0到100之间的整数,数据之间用分空格分隔。 输出 对于每个歌手的打分,计算出这个歌手的得分,每个得分占一行,输出两位小数。
以下是Python实现:
```python
while True:
try:
scores = list(map(int, input().split()))
scores.sort()
avg_score = sum(scores[1:9]) / 8
print('%.2f' % avg_score)
except:
break
```
首先进入一个无限循环,每次读入一行数据,使用 `map` 函数将其转换为整数列表。然后对这个列表进行排序,去掉最高分和最低分后,取列表的第2到第9项(即8个评委的分数),求平均值即可。最后使用格式化字符串输出结果,保留2位小数。如果出现异常则跳出循环。
阅读全文
相关推荐
















