青年歌手参加歌曲大奖赛,有 10 个评委进行打分,编程求这位选手的平均得分(去掉一 个最高分和一个最低分)
时间: 2024-05-14 20:12:28 浏览: 49
可以先将 10 个评委打的分数存储在一个列表中,然后使用 Python 的内置函数来去除最高分和最低分,最后计算平均分即可。
具体实现如下:
```python
scores = [80, 85, 90, 92, 95, 88, 87, 84, 91, 89] # 10 个评委的分数列表
# 去除最高分和最低分
scores.remove(max(scores))
scores.remove(min(scores))
# 计算平均分
avg_score = sum(scores) / len(scores)
print("该选手的平均得分为:", avg_score)
```
输出结果为:
```
该选手的平均得分为: 89.0
```
相关问题
青年歌手参加歌曲大奖赛,有10个评委进行打分,编程求这位选手的平均得分(去掉一 个最高分和一个最低分)。C语言
下面是一种实现方式:
```c
#include <stdio.h>
#include <stdlib.h>
#define JUDGE_NUM 10 // 评委数量
int compare(const void *a, const void *b) {
return (*(int*)a - *(int*)b);
}
int main() {
int scores[JUDGE_NUM];
int i, total_score = 0;
// 输入10个评委的分数
for (i = 0; i < JUDGE_NUM; i++) {
printf("请输入第%d个评委的分数:", i + 1);
scanf("%d", &scores[i]);
}
// 对分数进行排序
qsort(scores, JUDGE_NUM, sizeof(int), compare);
// 去掉一个最高分和一个最低分
for (i = 1; i < JUDGE_NUM - 1; i++) {
total_score += scores[i];
}
// 输出平均得分
printf("选手的平均得分为:%d\n", total_score / 8);
return 0;
}
```
该程序使用了qsort函数对分数进行排序,然后去掉一个最高分和一个最低分,最后计算平均得分。需要注意的是,最后计算平均得分时要除以8而不是10,因为去掉了两个分数。
C语言青年歌手参加歌曲大奖赛,有 10 个评委进行打分,编程求这位选手的平均得分(去掉一个最高分和一个最低分)。
好的,这个问题是程序计算问题,我可以帮你回答。根据你所描述的情况,我们需要取出其中的最高分和最低分,然后计算剩余分数的平均值。为了方便,我可以用 C 语言编写一个简单的程序来实现这个功能,代码如下:
```
#include <stdio.h>
void sort(int array[], int n) {
for (int i = 0; i < n - 1; i++) {
int min = i;
for (int j = i + 1; j < n; j++) {
if (array[j] < array[min]) {
min = j;
}
}
int temp = array[i];
array[i] = array[min];
array[min] = temp;
}
}
double avg(int array[], int n) {
sort(array, n);
double sum = 0.0;
for (int i = 1; i < n - 1; i++) {
sum += array[i];
}
return sum / (n - 2);
}
int main() {
int scores[10];
printf("请输入 10 个评分:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &scores[i]);
}
double average = avg(scores, 10);
printf("这位选手的平均得分为: %.2f\n", average);
return 0;
}
```
你可以将上述代码复制到一个 C 语言的开发环境中进行编译运行。程序运行后会提示你输入 10 个评分,依次输入即可。运行结束后程序会输出这位选手的平均得分,保留两位小数。
希望这个回答能够帮到你,如果你还有其他问题可以继续问我。