学校举行校园歌手大赛,一共有7位裁判,7位裁判位为选手打分,去掉一个最高分和去掉一个最低分,再计算平均分就是该选手的最后得分。请用c语言编写程序模仿7位裁判为某位选手的打分过程。
时间: 2024-11-29 12:16:22 浏览: 6
校园赛事管理系统,基于SSM框架一个比赛裁判管理系统
在C语言中,我们可以创建一个简单的数组来模拟7位评委的打分,并按照规则去除最高分和最低分。下面是一个简单的示例程序:
```c
#include <stdio.h>
#define NUM_JUDGES 7
int main() {
int scores[NUM_JUDGES]; // 用于存储7位评委的分数
int i;
// 为每位选手赋值随机分数(这里为了简单起见,我们假设每个评委都是0-100分之间)
for (i = 0; i < NUM_JUDGES; i++) {
scores[i] = rand() % 101; // 使用rand()函数获取0-100之间的随机数
printf("Judge %d gives a score of %d.\n", i+1, scores[i]);
}
// 排序分数
for (i = 0; i < NUM_JUDGES - 1; i++) {
for (int j = 0; j < NUM_JUDGES - 1 - i; j++) {
if (scores[j] > scores[j + 1]) { // 如果当前分数大于下一个分数
int temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp; // 交换两个分数
}
}
}
// 去除最高分和最低分并计算平均分
int sum = scores[0] + scores[NUM_JUDGES - 2]; // 最高分和最低分相加
double average_score = (double)sum / (NUM_JUDGES - 2); // 平均分计算
printf("The final score after removing the highest and lowest is %.2f.\n", average_score);
return 0;
}
```
这个程序首先生成7个随机分数,然后对它们进行排序。接着,它取掉最高分和最低分,将剩余分数相加并除以5(因为去掉了2个分数),得到最终得分。
阅读全文