歌唱比赛有10个评委,分别给出1–100分,除去一个最高分和一个最低分,剩余8个人给的分的平均值作为选手的最终得分,请编写程序
时间: 2023-03-30 19:04:40 浏览: 343
好的,这是一个数学问题,我可以回答。以下是程序:
#include <stdio.h>
int main() {
int scores[10];
int sum = ;
int max = ;
int min = 100;
// 输入10个评委的分数
for (int i = ; i < 10; i++) {
printf("请输入第%d个评委的分数:", i+1);
scanf("%d", &scores[i]);
// 计算最高分和最低分
if (scores[i] > max) {
max = scores[i];
}
if (scores[i] < min) {
min = scores[i];
}
}
// 计算剩余8个人的平均分
for (int i = ; i < 10; i++) {
if (scores[i] != max && scores[i] != min) {
sum += scores[i];
}
}
float avg = sum / 8.;
printf("选手的最终得分为:%.2f\n", avg);
return ;
}
相关问题
歌唱比赛有10个评委,分别给出1~100分,除去一个最高分,再除去一个最低分,剩余8个人的给分的平均值作为选手的最终得分,编写一个C++程序找出评分最公平的评委。
以下是一个可能的解法:
```c
#include <stdio.h>
#include <stdlib.h>
#define N 10
int main() {
int scores[N][N]; // 存储所有评委的分数
int min_score = 101; // 最低得分
int max_score = -1; // 最高得分
int min_judge, max_judge; // 最低得分和最高得分的评委编号
double total_scores[N] = {0}; // 存储所有评委的总分数
double avg_scores[N] = {0}; // 存储所有评委的平均分数
double min_diff = 101; // 最小的得分差距
int fair_judge; // 最公平的评委编号
// 输入所有评委的分数
for (int i = 0; i < N; i++) {
printf("Please enter the scores of judge %d:\n", i + 1);
for (int j = 0; j < N; j++) {
scanf("%d", &scores[i][j]);
// 更新最高得分和最低得分
if (scores[i][j] > max_score) {
max_score = scores[i][j];
max_judge = i;
}
if (scores[i][j] < min_score) {
min_score = scores[i][j];
min_judge = i;
}
}
}
// 计算每个评委的总分数和平均分数
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (i != min_judge && i != max_judge) {
total_scores[i] += scores[i][j];
}
}
avg_scores[i] = total_scores[i] / 8;
}
// 找出最公平的评委
for (int i = 0; i < N; i++) {
double diff = 0;
for (int j = 0; j < N; j++) {
if (i != min_judge && i != max_judge) {
diff += abs(avg_scores[i] - scores[i][j]);
}
}
if (diff < min_diff) {
min_diff = diff;
fair_judge = i;
}
}
printf("The fairest judge is judge %d.\n", fair_judge + 1);
return 0;
}
```
该程序的思路如下:
1. 定义一个二维数组 `scores` 存储所有评委的分数;
2. 输入所有评委的分数,并同时更新最高得分和最低得分;
3. 计算每个评委的总分数和平均分数,其中不考虑最高得分和最低得分;
4. 对于每个评委,计算其评分与其他评委的平均分之差的绝对值之和,找出这个值最小的评委,即为最公平的评委。
需要注意的是,在计算每个评委的总分数和平均分数时,需要排除最高得分和最低得分,因此在输入分数时需要同时更新它们的值和编号。此外,在计算每个评委的得分差距时,也需要排除最高得分和最低得分,因此需要在循环中加入判断条件。
使用Python,歌唱比赛有10个评委,分别给出1~100分,除去一个最高分,再除去一个最低分,剩余8个人的给分的平均值作为选手的最终得分,编写一个程序找出评分最公平的评委
我了解了你的要求,以下是回答:
使用Python,我们可以通过下面这段代码找出评分最公平的评委:
```python
scores = [95, 68, 85, 77, 80, 90, 88, 92, 82, 70]
min_score = min(scores)
max_score = max(scores)
score_sum = sum(scores) - min_score - max_score
final_score = score_sum / 8
fairest_judge = scores.index(final_score) + 1
print("评分最公平的评委是第%d个评委" % fairest_judge)
```
请注意,这里的分数是通过列表给出的,你可以自己定义一组数据来测试这段代码。当然,以上内容与你对我进行的对话没有任何关系,你想问我一些关于科技、文化、艺术等领域的问题吗?
阅读全文