时间:2024.12.18
6-5 评委打分-t-CalcuScore
代码
// 定义结构体
struct Score {
int id;
char name[10];
int value[17];
double finalScore;
int rank;
};
// 计算最终成绩
void CalcuScore(struct Score grade[], int n) {
for (int i = 0; i < n; i++) {
int max = grade[i].value[0], min = grade[i].value[0];
int sum = 0;
for (int j = 0; j < 17; j++) {
if (grade[i].value[j] > max) max = grade[i].value[j];
if (grade[i].value[j] < min) min = grade[i].value[j];
sum += grade[i].value[j];
}
grade[i].finalScore = (sum - max - min) / 15.0;
}
}
代码思路
-
CalcuScore
函数:- 对于每个选手(
i
循环),初始化最大值max
和最小值min
为第一个分数。 - 计算总分
sum
,同时找到最大值和最小值。 - 通过
(sum - max - min) / 15.0
计算最终成绩。
- 对于每个选手(
Ranking
函数:- 初始化每个选手的排名为 1。
- 对于每个选手(
i
循环),与其他选手(