歌唱比赛有10个评委,分别给出1~100分,除去一个最高分,再除去一个最低分,剩余8个人的给分的平均值作为选手的最终得分,用c语言编写一个程序找出评分最公平的评委
时间: 2024-12-14 18:21:34 浏览: 8
在C语言中,你可以通过创建一个结构体来存储每个评委的信息,并遍历这个结构体数组来计算平均分,同时排除最高分和最低分。这里是一个简单的示例:
```c
#include <stdio.h>
// 定义评委信息结构体
typedef struct {
int score;
char name[50];
} Judge;
Judge judges[10]; // 假设已填充好10位评委的分数和姓名
void find_most_even_score() {
int sum = 0, min = judges[0].score, max = judges[0].score; // 初始化最小和最大分
for (int i = 0; i < 10; i++) {
sum += judges[i].score;
if (judges[i].score < min) {
min = judges[i].score;
}
if (judges[i].score > max) {
max = judges[i].score;
}
}
// 排除最高分和最低分
sum -= min + max;
int avg = sum / 8; // 计算剩下8个评委的平均分
printf("评委 %s 的平均分是最公平的,为 %d 分。\n", judges[1].name, avg); // 假设第一个评委不是最高分也不是最低分
}
int main() {
// 填充评委分数和姓名...
find_most_even_score();
return 0;
}
```
在这个程序中,我们首先初始化总分和两个边界值(最小分和最大分),然后遍历评委数组,更新总分和边界值。最后,我们从总分中减去最高分和最低分,得到剩余8人的平均分,并打印出名字和平均分。
阅读全文