去掉一个最高分和一个最高分然后取其余3名评委的平均分作为最后得分用c语言
时间: 2023-03-28 11:01:34 浏览: 151
可以使用以下代码实现:
#include <stdio.h>
int main() {
int scores[5]; // 存储5个评委的分数
int sum = ; // 存储总分
int max1 = , max2 = ; // 存储最高分和次高分
// 输入5个评委的分数
for (int i = ; i < 5; i++) {
printf("请输入第%d个评委的分数:", i+1);
scanf("%d", &scores[i]);
// 更新最高分和次高分
if (scores[i] > max1) {
max2 = max1;
max1 = scores[i];
} else if (scores[i] > max2) {
max2 = scores[i];
}
// 累加总分
sum += scores[i];
}
// 计算最终得分
int final_score = (sum - max1 - max2) / 3;
printf("最终得分为:%d\n", final_score);
return ;
}
相关问题
十个评委评分 去掉最高分和最低分求平均分 c语言
在C语言中,计算十个评委评分去掉最高分和最低分后的平均分,可以采用数组来存储分数,然后对剩余的八个评分进行求和并除以8得到最终平均分。以下是一个简单的示例代码:
```c
#include <stdio.h>
#define NUM_JUDGES 10
int main() {
int scores[NUM_JUDGES]; // 存储评委的评分
float sum = 0.0, average; // 和与平均值
// 输入十个评分
for (int i = 0; i < NUM_JUDGES; i++) {
scanf("%d", &scores[i]);
sum += scores[i];
}
// 排序并去掉最高分和最低分
qsort(scores, NUM_JUDGES - 2, sizeof(int), compare); // 假设compare函数用于排序
scores[NUM_JUDGES - 1] = scores[NUM_JUDGES - 2]; // 删除最高分
scores[0] = scores[1]; // 删除最低分
// 计算剩余评分的平均分
average = (sum - scores[NUM_JUDGES - 1] - scores[0]) / (NUM_JUDGES - 2);
printf("去掉最高分和最低分后的平均分为: %.2f\n", average);
return 0;
}
// 比较函数,用于qsort排序
int compare(const void *a, const void *b) {
return (*(const int*)a - *(const int*)b);
}
```
在这个例子中,我们首先输入所有的评分,然后通过`qsort`函数对它们进行排序。接着删除最高分和最低分,最后计算剩余评分的平均值。
用循环设计一个C语言程序,所有评委未参赛选手打分,选手最后得分要去掉一个最高分,去掉一个最低分
。下面是一个用循环设计的C语言程序,用于计算选手的最终得分:
```
#include <stdio.h>
int main()
{
int i, n;
float score[100], sum = 0, max = 0, min = 999;
printf("请输入评委人数: ");
scanf("%d", &n);
// 输入所有评委打分
for (i = 0; i < n; i++) {
printf("请输入第%d个评委的分数: ", i + 1);
scanf("%f", &score[i]);
sum += score[i];
// 记录最高分和最低分
if (score[i] > max) {
max = score[i];
}
if (score[i] < min) {
min = score[i];
}
}
// 去掉最高分和最低分
sum -= max + min;
// 输出选手的最终得分
printf("选手得分为: %.2f\n", sum / (n - 2));
return 0;
}
```
该程序将首先要求用户输入评委的数量,然后用一个循环来输入每个评委的打分,并计算评委打分的总和。在输入的过程中,程序会记录最高分和最低分。最后,程序将去掉最高分和最低分,计算出选手的最终得分,并将其输出。
阅读全文