有n个评委评分,m个选手参赛,计算并输出参赛选手的最后得分,计算方法为去除一个最高分和一个最低分,其余的进行平均,得出参赛选手的最后得分,按从大到小的顺序输出参赛选手的最后得分
时间: 2024-04-29 07:21:59 浏览: 234
评委评分算法(去最高和最低求平均)
假设评委打分的分数存储在一个二维数组score中,其中score[i][j]表示第i个选手得到第j个评委的分数。那么可以按照以下步骤来计算每个选手的最后得分:
1. 创建一个一维数组finalScore,长度为m,用于存储每个选手的最后得分。
2. 遍历每个选手,对于每个选手,遍历他得到的所有评委分数,找出其中的最高分和最低分,并将其去除。
3. 对于剩余的分数进行求和并除以评委总人数减去2,得到该选手的最后得分。
4. 将该选手的最后得分存入finalScore数组中。
5. 对finalScore数组进行排序,从大到小输出每个选手的最后得分。
以下是代码实现:
```python
n = 5 # 评委人数
m = 10 # 参赛选手数量
# 生成随机评分
import random
score = [[random.randint(60, 100) for _ in range(n)] for _ in range(m)]
finalScore = []
for i in range(m):
minScore = min(score[i])
maxScore = max(score[i])
sumScore = sum(score[i]) - minScore - maxScore
finalScore.append(sumScore / (n - 2))
finalScore.sort(reverse=True)
for s in finalScore:
print(s)
```
输出结果类似如下,具体数值每次运行都不同:
```
87.66666666666667
84.33333333333333
81.66666666666667
80.0
76.66666666666667
74.0
73.0
69.33333333333333
68.66666666666667
67.33333333333333
```
阅读全文