十个评委评分 去掉最高分和最低分求平均分 c语言
时间: 2024-11-19 22:14:28 浏览: 13
在C语言中,计算十个评委评分去掉最高分和最低分后的平均分,可以采用数组来存储分数,然后对剩余的八个评分进行求和并除以8得到最终平均分。以下是一个简单的示例代码:
```c
#include <stdio.h>
#define NUM_JUDGES 10
int main() {
int scores[NUM_JUDGES]; // 存储评委的评分
float sum = 0.0, average; // 和与平均值
// 输入十个评分
for (int i = 0; i < NUM_JUDGES; i++) {
scanf("%d", &scores[i]);
sum += scores[i];
}
// 排序并去掉最高分和最低分
qsort(scores, NUM_JUDGES - 2, sizeof(int), compare); // 假设compare函数用于排序
scores[NUM_JUDGES - 1] = scores[NUM_JUDGES - 2]; // 删除最高分
scores[0] = scores[1]; // 删除最低分
// 计算剩余评分的平均分
average = (sum - scores[NUM_JUDGES - 1] - scores[0]) / (NUM_JUDGES - 2);
printf("去掉最高分和最低分后的平均分为: %.2f\n", average);
return 0;
}
// 比较函数,用于qsort排序
int compare(const void *a, const void *b) {
return (*(const int*)a - *(const int*)b);
}
```
在这个例子中,我们首先输入所有的评分,然后通过`qsort`函数对它们进行排序。接着删除最高分和最低分,最后计算剩余评分的平均值。
阅读全文