m位评委给选手打分,去掉最高分和最低分,求平均成绩c语言
时间: 2024-11-26 10:22:39 浏览: 25
c代码-6-2清单10个评委最高分与最低分
在C语言中,计算m位评委给选手打分的平均成绩(去掉最高分和最低分),通常可以使用数组存储分数,并遍历数组来进行操作。下面是一个简单的示例代码:
```c
#include <stdio.h>
#define NUM_JUDGES 5 // 评委人数
#define MAX_SCORE 100 // 最高分
// 假设scores[]数组存储了评委的评分
int scores[NUM_JUDGES];
void remove_extreme_scores(int *scores) {
int sum = 0;
int count = 0;
// 排序并记录非极端值的总和和计数
for (int i = 0; i < NUM_JUDGES - 2; i++) { // 跳过最高和最低分
if (i == 0 || scores[i] > scores[i - 1]) { // 非降序排序
sum += scores[i];
count++;
}
}
// 计算平均成绩
if (count > 0)
c = sum / count;
else
printf("没有有效得分,无法计算平均分。\n");
}
int main() {
// 假设这里初始化了scores数组
// ...
remove_extreme_scores(scores);
// 输出平均成绩
printf("去掉最高分和最低分后的平均成绩是:%d\n", c);
return 0;
}
```
在这个代码片段中,我们首先创建了一个函数`remove_extreme_scores()`,用于处理去极值的操作。然后,在`main()`函数里,假设已经填充了评委的分数,调用这个函数计算平均成绩并显示结果。
阅读全文