设计一个打分评分系统,键盘加入十个评委分数,存放在数组中,将分数按照从大到小的顺序输出,去掉最高分和最低分,输出平均分
时间: 2024-01-05 20:03:11 浏览: 26
好的,下面是一个实现打分评分系统的代码示例:
```c
#include <stdio.h>
#define JUDGES 10
int main() {
int scores[JUDGES];
int sum = 0;
// 输入分数
for (int i = 0; i < JUDGES; i++) {
printf("请输入第%d个评委的分数:", i+1);
scanf("%d", &scores[i]);
sum += scores[i];
}
// 排序
for (int i = 0; i < JUDGES-1; i++) {
for (int j = i+1; j < JUDGES; j++) {
if (scores[i] < scores[j]) {
int temp = scores[i];
scores[i] = scores[j];
scores[j] = temp;
}
}
}
// 去掉最高分和最低分
sum = sum - scores[0] - scores[JUDGES-1];
// 输出结果
printf("去掉最高分和最低分后的分数为:");
for (int i = 1; i < JUDGES-1; i++) {
printf("%d ", scores[i]);
}
printf("\n");
printf("平均分为:%.2f\n", (float)sum / (JUDGES-2));
return 0;
}
```
这个系统中,我们定义了一个数组来存放十个评委的分数,通过循环依次输入每个评委的分数,并计算总分。然后,我们使用冒泡排序将分数按照从大到小的顺序排序。接着,去掉最高分和最低分,计算平均分并输出结果。
需要注意的是,由于我们去掉了最高分和最低分,因此在计算平均分时,评委的数量应该减去 2。另外,为了避免除数为 0 的情况,可以将总分和评委数量都转换为浮点数进行计算。