输入一个正整数n (n>4),再输入n个实数,求出歌手的得分(保留2位小数)。设一歌唱评奖晚会上有n(n>4)个评委为歌手打分.评分规则:每个评委依次打分,再去掉2个最高分和2个最低分,计算余下的分数平均值为歌手的得分.
时间: 2023-08-31 16:36:42 浏览: 178
输入一个正整数n,求输出为分数形式
5星 · 资源好评率100%
### 回答1:
如果你想算出歌手的得分,可以按照以下步骤操作:
1. 输入正整数n,确保n大于4。
2. 输入n个实数,代表每个评委给歌手的得分。
3. 将所有分数从小到大排序。
4. 去掉最高的两个分数和最低的两个分数。
5. 计算剩下的分数的平均值,并将结果保留2位小数。
6. 得到的平均值就是歌手的得分。
### 回答2:
首先,我们需要读取输入的正整数n,并初始化一个长度为n的实数数组来存储评委的打分。
然后,我们使用一个for循环来读取n个实数,并将其存储在数组中。
接下来,我们对数组进行排序,以便去掉最高分和最低分。可以使用冒泡排序或快速排序等算法,将数组中的元素按照从小到大的顺序排列。
然后,我们计算去掉2个最高分和2个最低分后的分数总和。遍历排序后的数组,从第三个元素开始累加,直到倒数第三个元素。然后,将累加的结果除以n-4得到平均分数。
最后,我们将平均分数保留2位小数,并输出作为歌手的得分。
以下是具体的代码实现:
```python
n = int(input("请输入正整数n:"))
scores = []
for i in range(n):
score = float(input("请输入第{}个评委的打分:".format(i+1)))
scores.append(score)
scores.sort()
total = sum(scores[2:-2])
average = total / (n-4)
formatted_average = "{:.2f}".format(average)
print("歌手的得分为:", formatted_average)
```
注意:以上代码是用Python编写的简单示例,仅供参考。实际情况下,可能需要考虑输入的合法性检查和错误处理。
### 回答3:
首先,我们需要明确题目的要求和需要的步骤:
1. 输入一个正整数n,表示评委的人数;
2. 输入n个实数,表示评委打分;
3. 计算得分的平均值,去掉2个最高分和2个最低分。
根据上述要求,我们可以按照如下步骤来解决问题:
1. 首先,我们可以定义一个列表scores来存储n个评委的打分。
2. 使用一个for循环,接收n个实数作为评委打分,将其添加到scores列表中。
3. 对scores列表进行排序,从小到大。
4. 使用切片操作去掉最低分和最高分,即scores[2:-2],保留的分数即为去掉2个最低分和2个最高分后的分数列表。
5. 计算去掉最低分和最高分后的分数列表的平均值。
6. 使用round函数,保留平均值的小数点后两位。
7. 输出歌手的得分。
下面是使用Python代码来实现所描述的算法:
```python
n = int(input("请输入评委的人数:"))
scores = []
for i in range(n):
score = float(input("请输入第{}位评委的分数:".format(i+1)))
scores.append(score)
scores.sort()
average_score = round(sum(scores[2:-2]) / (n-4), 2)
print("歌手的得分为:{}".format(average_score))
```
以上代码即可完成题目的要求,输入正整数n和n个实数评委的打分后,即可得到歌手的得分。
阅读全文