#2658. [GESP202606 二级 C++] 第 15 题

[GESP202606 二级 C++] 第 15 题

某学校举办“校园演讲比赛”,每位选手由 8 位评委打分(分数为 010 的整数),且每位评委必须打分。 计分规则:去掉一个最高分,去掉一个最低分。如下程序通过键盘先输入选手编号,然后依次输入 8 个分数,并计 算最终得分。下列说法正确的是( )。

for (int i = 0; i < 10; i++) {
    int id, score;
    printf("输入选手编号: ");
    scanf("%d", &id);

    int max_score = 0, min_score = 100; // 最高分和最低分
    int total_score = 0; // 总分

    for (int j = 1; j < 9; j++) {
        printf("输入选手第%d个成绩:", 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,\
    去掉一个最低分%d,\
    最后成绩是:%d", id, max_score, min_score, total_score);
}

{{ select(1) }}

  • 上述代码能完成题目要求
  • max_score = 0, min_score = 100 应修改为 max_score = 0, min_score = 0
  • max_score < scoremin_score > score 必须相应修改为 <=>=
  • total_score = total_score - max_score - min_score 不能达到预期,可修改如下: