假定某一大型比赛中有10名裁判同时为一名体操运动员打分,编写一个程序,输入这10名裁判的打分,输出去掉个最高分和一个最低分后该运动员的平均得分。 输入格式: 在一行中顺序输入10名裁判的打分,其间以1个空格分隔。 输出格式: 顺序输出最高分,最低分,平均分,保留3位小数,其间以1个空格分隔。 输入样例1: 8 0 8.5 8 7 7.5 9 9.5 8.5 10 输出样例1: 10.000 0.000 8.250
时间: 2024-02-18 17:05:22 浏览: 22
这道题可以先将输入的10个打分按升序排序,然后去掉最高分和最低分,再计算平均分即可。下面是一个示例代码实现:
```python
scores = list(map(float, input().split()))
scores.sort()
avg_score = sum(scores[1:-1]) / 8 # 去掉最高分和最低分
print("{:.3f} {:.3f} {:.3f}".format(scores[-1], scores[0], avg_score))
```
这里使用了 `map` 函数将输入的字符串列表转换为浮点数列表,然后使用 `sort` 方法对列表进行排序。计算平均分时使用了列表切片来去掉最高分和最低分。最后使用格式化字符串输出结果,保留3位小数。
相关问题
假定某一大型比赛中有10名裁判同时为一名体操运动员打分,编写一个程序,输入这10名裁判的打分,输出去掉一个最高分和一个最低分后该运动员的平均得分。
好的,这个问题很简单,我可以帮你编写一个 Python 程序来解决它。以下是代码:
```python
scores = [] # 用一个列表来存储10名裁判的打分
# 循环读入10名裁判的打分
for i in range(10):
score = float(input("请输入第%d名裁判的分数:" % (i+1)))
scores.append(score)
# 去掉一个最高分和一个最低分
scores.remove(max(scores)) # 去掉最高分
scores.remove(min(scores)) # 去掉最低分
# 计算平均得分
avg_score = sum(scores) / len(scores)
print("该运动员的平均得分为:%.2f" % avg_score)
```
这个程序会首先让你输入10名裁判的打分,然后去掉一个最高分和一个最低分,最后计算并输出该运动员的平均得分。
编写一段c语言程序,假定某一大型比赛中有10名裁判同时为一名体操运动员打分,编写一个程序,输入这10名裁判的打分,输出去掉一个最高分和一个最低分后该运动员的平均得分。
好的,下面是符合您要求的 C 语言程序:
```c
#include <stdio.h>
#define JUDGES_NUM 10 // 裁判人数
int main() {
float scores[JUDGES_NUM]; // 存放裁判打分的数组
float sum = 0, max = 0, min = 10; // sum 记录总分,max 和 min 分别记录最高分和最低分
float avg; // 平均得分
// 输入每个裁判的分数
for (int i = 0; i < JUDGES_NUM; i++) {
printf("请输入第 %d 个裁判的分数:", i + 1);
scanf("%f", &scores[i]);
// 计算总分、最高分和最低分
sum += scores[i];
if (scores[i] > max) {
max = scores[i];
}
if (scores[i] < min) {
min = scores[i];
}
}
// 去掉最高分和最低分后计算平均得分
sum = sum - max - min;
avg = sum / (JUDGES_NUM - 2);
printf("该选手的平均得分为:%.2f\n", avg);
return 0;
}
```
程序运行后,会提示您输入 10 个裁判的分数,输入完毕后,程序会自动去掉最高分和最低分,然后计算平均得分并输出。注意,程序中 `JUDGES_NUM` 宏定义需要设置为 10,即裁判人数。