【问题描述】 输入8个评委的分数存入列表,计算歌手最后得分:去掉一个最高分和最低分,其余评委的平均分为选手最后得分。 【样例输入】红色部分为键盘输入 input score:6 input score:8 input score:7 input score:9 input score:7 input score:10 input score:5 input score:8 【样例输出】 score=7.50
时间: 2023-07-20 08:16:27 浏览: 119
好的,根据您的要求,以下是解决方案:
```python
# 初始化得分列表
scores = []
# 获取8个评委的分数
for i in range(8):
score = float(input("input score:"))
scores.append(score)
# 去掉一个最高分和一个最低分
scores.remove(max(scores))
scores.remove(min(scores))
# 计算平均分
avg_score = sum(scores) / len(scores)
# 输出选手最后得分
print("score={:.2f}".format(avg_score))
```
您可以直接复制粘贴代码到Python编辑器中运行,然后依次输入8个评委的分数即可。程序会自动去掉一个最高分和一个最低分,计算平均分,并输出选手最后得分。
相关问题
评委打分,规则:去掉一个最高分和一个最低分,剩余分数的平均分为该选手得分。要求: 1.通过键盘输入5位评委打分,存入列表。编写函数 aver (),功能为去掉一个最大值和一个最小值并计算平均值。 2.将5位评委打分及最后结果写入 datal . txt 文件。
以下是Python代码实现:
```python
def aver(scores):
scores.remove(max(scores))
scores.remove(min(scores))
return sum(scores) / len(scores)
scores = []
for i in range(5):
score = float(input("请输入第{}位评委的分数:".format(i+1)))
scores.append(score)
avg_score = aver(scores)
print("该选手的最终得分为:{:.2f}".format(avg_score))
with open("datal.txt", "w") as f:
f.write("评委打分:\n")
for score in scores:
f.write("{:.2f}\n".format(score))
f.write("最终得分:{:.2f}\n".format(avg_score))
```
在程序中,先定义一个函数aver(),用于计算去掉一个最大值和一个最小值后的平均分数。然后通过循环输入5位评委的分数,存入列表scores中。接着调用函数aver()计算最终得分,并将所有分数及最终得分写入文件datal.txt中。注意,在写入文件时需要格式化输出,保留两位小数。
用C语言编程实现:任务描述: 8号选手参加校园歌手大赛,编程读入20个整数(70-100之间)并存入数组中做为20个评委的打分,请按题目要求编程实现输出样例要求的功能(最后得分为去掉最高分和最低分后的平均分)。 输入格式: 20个整数 输出格式: 见样例 输入样例: 82 89 83 70 94 90 86 73 79 83 89 97 95 93 82 94 96 94 91 84 输出样例: 去掉一个最高分:97分 去掉一个最低分:70分 8号选手最后得分:87.611分
以下是用 C 语言编写的程序实现该任务:
```c
#include <stdio.h>
int main() {
int scores[20]; // 存储20个评委的打分
int sum = 0, max = 0, min = 100;
float avg;
// 读入20个整数并存入数组中
for (int i = 0; i < 20; i++) {
scanf("%d", &scores[i]);
// 计算总分和最高分/最低分
sum += scores[i];
if (scores[i] > max) {
max = scores[i];
}
if (scores[i] < min) {
min = scores[i];
}
}
// 计算平均分
avg = (float)(sum - max - min) / 18;
// 输出结果
printf("去掉一个最高分:%d分\n", max);
printf("去掉一个最低分:%d分\n", min);
printf("8号选手最后得分:%.3f分\n", avg);
return 0;
}
```
程序逻辑如下:
1. 定义一个数组 `scores` ,用于存储20个评委的打分。
2. 循环读入20个整数并存入 `scores` 数组中,同时计算总分和最高分/最低分。
3. 根据题目要求,去掉一个最高分和一个最低分,计算平均分。
4. 输出结果,其中 %.3f 表示保留三位小数输出。
注意,由于最高分和最低分只有一个,因此在计算平均分时要除以 18 而不是 20。
阅读全文