有10个评委为参赛的选手打分,分数1-100分。选手最后得分:去掉一个最高分和一个最低分后其余8个分数的平均值。用数组实现
时间: 2024-09-26 17:02:16 浏览: 61
Java歌手比赛评委打分-按照设计好的流水线去掉一个最高分和一个最低分计算出平均成绩.docx
在使用数组实现这个评分规则时,首先需要创建一个数组来存储所有评委的打分。假设我们有一个长度为10的整数数组`scores`来保存这10个评分。以下是步骤:
1. 初始化数组:`scores = [score1, score2, ..., score9, score10]`
2. 找到并删除最高分和最低分:遍历数组找到最大值和最小值的索引,然后将这两个索引对应的元素移除。可以使用Python的`remove()`函数或者替换掉两个极端值后的最后一个和第一个元素。
```python
max_index = scores.index(max(scores))
min_index = scores.index(min(scores))
scores.remove(scores[max_index])
scores.remove(scores[min_index])
```
3. 计算剩余分数的平均值:计算新数组中剩下8个分数的总和,然后除以8得到平均分。
```python
average_score = sum(scores) / len(scores)
```
4. 返回平均分:将`average_score`作为最终结果返回。
完整的示例代码(仅适用于Python):
```python
def calculate_average_score(scores):
# 删除最高分和最低分
max_index = scores.index(max(scores))
min_index = scores.index(min(scores))
scores.pop(max_index)
scores.pop(min_index)
# 计算平均分
average = sum(scores) / len(scores)
return average
# 示例数据
scores = [85, 92, 78, 96, 89, 82, 98, 87, 90, 95]
final_average = calculate_average_score(scores)
print("最后得分:", final_average)
阅读全文