题目描述 济南大学现举行新生歌手大赛,评分规则是这样的:一共有10个评委给每个歌手打分,分数采用百分制,算分时去掉一个最高分,去掉一个最低分,取其余8个评委的平均分作为歌手的得分。现有多个歌手的得分,请计算出他们每个人的得分。 输入 输入数据有多组,每组是一个歌手的打分,包括10个0到100之间的整数,数据之间用分空格分隔。 输出 对于每个歌手的打分,计算出这个歌手的得分,每个得分占一行,输出两位小数。
时间: 2023-12-14 15:36:39 浏览: 217
以下是Python实现:
```python
while True:
try:
scores = list(map(int, input().split()))
scores.sort()
avg_score = sum(scores[1:9]) / 8
print('%.2f' % avg_score)
except:
break
```
首先进入一个无限循环,每次读入一行数据,使用 `map` 函数将其转换为整数列表。然后对这个列表进行排序,去掉最高分和最低分后,取列表的第2到第9项(即8个评委的分数),求平均值即可。最后使用格式化字符串输出结果,保留2位小数。如果出现异常则跳出循环。
相关问题
.校园歌手大赛共有10位评委对每一位参赛选手进行评分,评分规则是:从10位评委的评分中,除去一个最高分和一个最低分,剩余的分数取平均值,作为选手最后的得分。请编写一个程序,输入某选手的10个分数(也可以生成随机数代替输入,分值在[80,100]之间),输出其最后的得分(结果保留两位小数)。
好的,可以使用以下代码实现:
```python
import random
# 生成随机分数
scores = [random.randint(80, 100) for i in range(10)]
# 计算最终得分
scores_sorted = sorted(scores)
final_score = (sum(scores_sorted[1:-1]) / 8).round(2)
# 输出结果
print("选手的分数为:", scores)
print("选手的最终得分为:", final_score)
```
其中,`random.randint(80, 100)` 用于生成80~100之间的随机整数。`sorted(scores)`用于将分数从小到大排序,`scores_sorted[1:-1]`表示去掉最高分和最低分后的分数列表,`sum(scores_sorted[1:-1])`用于求和,`/ 8`用于求平均分,最后使用`round(2)`将结果保留两位小数。
在c语言中校园歌手大赛共有10位评委对每一位参赛选手进行评分,评分规则是:从 10位评委的评分中,除去一个最高分和一个最低分,剩余的分数取平均值,作 为选手最后的得分。请编写一个程序,输入某选手的10个分数(也可以生成随 机数代替输入,分值在180,1001之间〉,输出其最后的得分(结果保留两位小 数)。
好的,这是一个简单的题目,可以使用以下的代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 10 // 评委数量
double get_score(double score[]) {
double max_score = 0.0, min_score = 1001.0, sum_score = 0.0;
// 找出最高分和最低分
for (int i = 0; i < N; i++) {
if (score[i] > max_score) {
max_score = score[i];
}
if (score[i] < min_score) {
min_score = score[i];
}
}
// 计算总分
for (int i = 0; i < N; i++) {
if (score[i] != max_score && score[i] != min_score) {
sum_score += score[i];
}
}
// 计算平均分
double avg_score = sum_score / (N - 2);
return avg_score;
}
int main() {
double score[N];
// 生成随机分数
srand((unsigned int) time(NULL));
for (int i = 0; i < N; i++) {
score[i] = rand() % 821 + 180; // 分数在180到1000之间
}
// 输出选手的分数
printf("选手的分数为:");
for (int i = 0; i < N; i++) {
printf("%g ", score[i]);
}
printf("\n");
// 计算选手的最终得分
double final_score = get_score(score);
// 输出选手的最终得分
printf("选手的最终得分为:%.2f\n", final_score);
return 0;
}
```
在上面的代码中,我们先定义了一个 `get_score` 函数来计算选手的最终得分。在 `main` 函数中,我们先生成随机分数,然后调用 `get_score` 函数计算选手的最终得分,并将结果输出。其中,我们使用 `srand` 函数来设置随机数生成器的种子,以保证每次运行程序生成的随机数都不同。
阅读全文
相关推荐














