某次比赛有n个评委对参赛选手打分。编程输入各个评委的评分,去掉一个最高分和1个最低分后,输出该选手的平均分。 输入格式: 输入在第一行中给出正整数n,在第二行给出n个0~10之间的浮点数,用空格分开。 输出格式: 在一行中输出去掉最高分和最低分之后的平均分,精确到小数点后2位。 输入样例: 7 9 8 8.5 7 7.9 9.5 8.9 输出样例: 8.46
时间: 2024-01-21 07:15:54 浏览: 30
这是一个很简单的问题,需要读取输入并进行排序,然后去掉最高分和最低分,计算平均分并输出。可以用 Python 编写代码如下:
```python
n = int(input())
scores = list(map(float, input().split()))
# 排序
scores.sort()
# 去掉最高分和最低分
scores = scores[1:-1]
# 计算平均分并输出
average = sum(scores) / len(scores)
print('%.2f' % average)
```
如果输入样例为 `7 9 8 8.5 7 7.9 9.5 8.9`,则输出样例为 `8.46`。
相关问题
某次比赛有n个评委对参赛选手打分。编程输入各个评委的评分,去掉一个最高分和1个最低分后,输出该选手的平均分。
### 回答1:
首先,需要用一个循环读入n个评委的评分。然后,找到最高分和最低分,将其删去。最后,计算剩余评分的平均值并输出。
<br>### 回答2:
首先,我们需要明确一下题目中的输入格式。假设我们选择被评委评分的选手是A,那么输入格式可以是每行一个分数,如下所示:
90.5
87.2
92.3
85.6
88.9
91.0
84.3
接下来,我们需要编写程序来对这些分数进行处理。首先,我们可以将所有分数存储到一个列表中:
scores = []
while True:
score = input("请输入评分:")
if not score: # 如果输入为空,则退出循环
break
scores.append(float(score)) # 将分数转换为浮点数并添加到列表中
接着,我们需要去掉一个最高分和一个最低分。这可以通过排序来实现,然后选择列表中去掉第一个和最后一个分数后剩下的分数计算平均分:
scores.sort() # 将分数从小到大排序
scores = scores[1:-1] # 去掉第一个和最后一个分数
avg_score = sum(scores) / len(scores) # 计算剩下分数的平均分
最后,我们可以输出该选手的平均分:
print("该选手的平均分为:{:.2f}".format(avg_score))
完整代码如下所示:
scores = []
while True:
score = input("请输入评分:")
if not score:
break
scores.append(float(score))
scores.sort()
scores = scores[1:-1]
avg_score = sum(scores) / len(scores)
print("该选手的平均分为:{:.2f}".format(avg_score)) <br>### 回答3:
题目描述:
某次比赛有n个评委对参赛选手打分。编程输入各个评委的评分,去掉一个最高分和1个最低分后,输出该选手的平均分。
分析:
这是一道简单的数学题,我们只需要将所有评分排序,去掉最高分和最低分后再求平均值即可。
具体步骤如下:
1. 输入评委数量n以及每个评委的评分score[1],score[2],……,score[n];
2. 对评分进行排序,可以使用冒泡排序等算法;
3. 去掉一个最高分和一个最低分,可以将评分数组的第一个元素(即最小值)和最后一个元素(即最大值)删除;
4. 计算剩余元素的总和total和个数count,求平均值:average = total / count;
5. 输出平均值。
下面是代码实现:
某次比赛有n个评委对参赛选手打分。编程输入各个评委的评分,去掉一个最高分和1个最低分后,输出该选手的平均分。\n\n输入格式:\n输入在第一行中给出正整数n,在第二行给出n个0~10之间的浮点数,用空格分开
以下是Python 3的代码示例,实现了输入n个评委的打分,去掉最高分和最低分后输出平均分的功能:
```
n = int(input()) # 输入评委人数
scores = input().split() # 输入n个评委的打分,用空格分隔
scores = [float(score) for score in scores] # 将评委打分转换为浮点数
max_score = max(scores) # 找到最高分
min_score = min(scores) # 找到最低分
scores.remove(max_score) # 去掉最高分
scores.remove(min_score) # 去掉最低分
avg_score = sum(scores) / len(scores) # 计算平均分
print("%.2f" % avg_score) # 输出平均分,保留2位小数
```
其中 `%.2f` 是格式化字符串,用于保留输出的浮点数小数点后两位。