当前许多歌手大奖赛评分时,为了体现公平,在评委给出分数后统计平均得分时,都会去掉最高分和最低分。编写程序,读入评委打分(分数都是大于0的整数,评委人数大于等于5,小于等于50),去掉两个最高分和两个最低分,计算并输出平均得分(小数点后保留两位有效数字)。
时间: 2023-05-31 13:17:50 浏览: 628
### 回答1:
以下是Python代码实现:
scores = [] # 用列表存储评委打分
n = int(input("请输入评委人数:"))
while n < 5 or n > 50:
n = int(input("评委人数应在5~50之间,请重新输入:"))
for i in range(n):
score = int(input("请输入第%d位评委的打分:" % (i+1)))
scores.append(score)
scores.sort() # 将分数从小到大排序
scores = scores[2:-2] # 去掉最高分和最低分
avg_score = sum(scores) / len(scores) # 计算平均得分
print("去掉最高分和最低分后的平均得分为:%.2f" % avg_score)
### 回答2:
题目描述
现在有一种评分方式,许多歌手大奖赛评分时,为了体现公平,在评委给出分数后统计平均得分时,都会去掉最高分和最低分。现在需要你编写一个程序,读入评委打分,去掉两个最高分和两个最低分,并计算平均得分。
输入格式
输入共n行,每行有m个整数,表示一个选手获得n个评委的打分,评分范围在1到100之间。
输出格式
输出共n行,每行输出一个选手的平均分,保留两位小数。
样例输入
5 34 55 67 89 90 87
4 55 76 90 88 87 89
6 56 77 78 89 95 100 80
6 34 67 89 90 87 56 45
5 56 78 87 88 95 82
样例输出
71.33
87.50
86.33
79.33
81.83
分析
我们只需要对每个选手其所获得评委的成绩进行排序,并去掉最高分和最低分,剩下的成绩取平均值即可。
在这里,我们可以选择选择 sort 函数进行排序,然后自定义 comparator 函数,也可以重载小于运算符。排序后只需要计算剩下的分数的平均数即可。
### 回答3:
题目分析:
本题主要考察的是基本的输入输出和数组的使用。根据题意,需要对给定的评委打分进行处理,首先去除最高分和最低分,然后计算平均得分并输出。我们可以使用数组来存储打分的值,通过排序操作来去除最高分和最低分,然后对剩余分数求平均值即可。
具体实现分为以下几个步骤:
1. 定义一个整型数组并读入评委的打分数据;
2. 对数组进行排序,去掉最高分和最低分;
3. 对剩余分数求和并计算平均得分;
4. 输出平均得分,小数点后保留两位有效数字。
参考代码如下:
阅读全文