某学校举办“校园演讲比赛”,每位选手由8位评委打分(分数为0-100的整数),且每位评委必须打分。计分规则:去掉一个最高分,去掉一个最低分。如下程序通过键盘先输入选手编号,然后依次输入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号选手的成绩:\n去掉一个最高分%d,\n去掉一个最低分%d,\n最后成绩是:%d", id, max_score, min_score, total_score);
}
上述代码能完成题目要求
max_score= 0, min_score= 100 应修改为 max_score= 0, min_score= 0
max_score< score 和 min_score> score 必须相应修改为<= 和>=
total_score= total_score- max_score- min_score 不能达到预期,可修改如下: int total = total_score - max_score - min_score; total_score = total;