利用c语音编写程序请编写程序,实现某大赛现 场为一名选手打分,有8个评委 去掉一个最低分和一个最高 分的平均分为最终得分。(注 满分为100,最低分为0)
时间: 2024-06-15 17:04:02 浏览: 137
基于C语言实现比赛评分系统.zip
5星 · 资源好评率100%
好的,以下是用C语言编写的程序,实现对选手打分并计算最终得分的功能:
```c
#include <stdio.h>
#define JUDGE_NUM 8
float calculateFinalScore(float scores[]) {
// 找出最低分和最高分的索引
int minIndex = 0, maxIndex = 0;
for (int i = 1; i < JUDGE_NUM; i++) {
if (scores[i] < scores[minIndex]) {
minIndex = i;
}
if (scores[i] > scores[maxIndex]) {
maxIndex = i;
}
}
// 去掉最低分和最高分后的总分
float totalScore = 0;
for (int i = 0; i < JUDGE_NUM; i++) {
if (i != minIndex && i != maxIndex) {
totalScore += scores[i];
}
}
// 计算平均分并返回
float finalScore = totalScore / (JUDGE_NUM - 2);
return finalScore;
}
int main() {
float scores[JUDGE_NUM];
// 输入评委打分
printf("请输入8个评委的打分:\n");
for (int i = 0; i < JUDGE_NUM; i++) {
printf("评委%d的打分:", i + 1);
scanf("%f", &scores[i]);
// 判断输入是否合法(0-100之间)
if (scores[i] < 0 || scores[i] > 100) {
printf("输入不合法,请重新输入评委%d的打分:", i + 1);
scanf("%f", &scores[i]);
}
}
// 计算最终得分
float finalScore = calculateFinalScore(scores);
// 输出最终得分
printf("最终得分为:%.2f\n", finalScore);
return 0;
}
```
请注意,以上程序假设评委的打分都是合法的(0-100之间),如果输入的打分不合法,程序会要求重新输入。另外,程序中使用了一个常量 `JUDGE_NUM` 来表示评委的数量,你可以根据实际情况进行修改。
阅读全文