某学校举办"校园演讲比赛",每位选手由 8 位评委打分(分数为 0~10 的整数),且每位评委必须打分。计分规则:去掉一个最高分,去掉一个最低分。如下程序先输入选手编号,然后依次输入 8 个分数,并计算最终得分。下列说法正确的是( )。
for (int i = 0; i < 10; i++) {
int id, score;
scanf("%d", &id);
int max_score = 0, min_score = 100; // 最高分和最低分
int total_score = 0; // 总分
for (int j = 1; j < 9; j++) {
scanf("%d", &score);
if (max_score < score)
max_score = score;
if (min_score > score)
min_score = score;
total_score += score;
}
total_score = total_score - max_score - min_score;
printf("%d号选手最后成绩是: %d", id, total_score);
}
- A. 上述代码能完成题目要求
- B. max_score = 0, min_score = 100 应修改为 max_score = 0, min_score = 0
- C. max_score < score 和 min_score > score 必须相应修改为 <= 和 >=
- D. total_score = total_score - max_score - min_score 不能达到预期,需另设变量保存
正确答案:A