用C语言在选秀节目中有10个评委为参赛选手打分,分数为1到100分,选手最后的得分为去掉一个最高分和去掉一个最低分后其余8个分数的平均分,编写程序,输入10个分数,输出选手的最后得分。
时间: 2023-07-14 11:13:03 浏览: 276
下面是一个用C语言编写的解决方案,可以实现你的需求:
```c
#include <stdio.h>
#define NUM 10 // 参赛选手数
int main() {
int scores[NUM]; // 存放10个评委的分数
int max = 0, min = 100; // 最高分和最低分的初始值
int sum = 0;
// 输入10个分数
printf("请输入10个分数:");
for (int i = 0; i < NUM; i++) {
scanf("%d", &scores[i]);
sum += scores[i];
// 更新最高分和最低分
if (scores[i] > max) {
max = scores[i];
}
if (scores[i] < min) {
min = scores[i];
}
}
// 计算去掉一个最高分和一个最低分后的平均分
double avg_score = (sum - max - min) * 1.0 / (NUM - 2);
printf("选手的最终得分为:%.2lf\n", avg_score);
return 0;
}
```
程序中使用了一个宏定义`NUM`来表示参赛选手数,方便修改。首先输入10个分数,并且在输入过程中计算总分、最高分和最低分。然后,去掉一个最高分和一个最低分后,计算剩余8个分数的平均分,最后输出选手的最终得分。注意,为了避免整数除法的问题,计算平均分时需要将分子或分母转换为浮点数。
阅读全文