c语言输入15位裁判的评号,去掉一个最高写,丢掉一个最低写,求该选手的最终得写。
时间: 2024-05-02 12:23:06 浏览: 9
好的,我知道了你的要求。对于你的问题,可以按照以下步骤解决:
1. 首先定义一个长度为15的数组,用来存储裁判的评分。
2. 然后使用循环语句,分别输入15个裁判的评分,将其存入数组中。
3. 通过排序算法,将数组中的评分按照从高到低的顺序进行排序。
4. 选手的最终得分就是去掉最高和最低评分后剩余评分的平均值,可以通过循环累加求和的方法来计算剩余评分的总和,再除以剩余评分的个数即可。
下面是对应的C语言代码实现:
``` c
#include <stdio.h>
#include <stdlib.h>
int main() {
int scores[15], sum = 0;
int max = 0, min = 10;
// 输入15个评分
for(int i = 0; i < 15; i++) {
printf("请输入第%d个裁判的评分:", i+1);
scanf("%d", &scores[i]);
// 记录最高和最低评分
if(scores[i] > scores[max]) {
max = i;
}
if(scores[i] < scores[min]) {
min = i;
}
}
// 排序
for(int i = 0; i < 14; i++) {
for(int j = i+1; j < 15; j++) {
if(scores[i] < scores[j]) {
int temp = scores[i];
scores[i] = scores[j];
scores[j] = temp;
}
}
}
// 去掉最高和最低评分
for(int i = 1; i < 14; i++) {
sum += scores[i];
}
// 计算平均分
int final_score = sum / 13;
printf("该选手的最终得分为:%d\n", final_score);
return 0;
}
```
希望这个回答能够帮助你解决问题,如果你还有其他问题,可以继续向我提问。