题目内容
青年歌手大奖赛共有10名选手参加,并请了12名评委,在计算每位选手的平均分时,为了避免个别评委所给的极端分数的影响,必须去掉一个最高分跟一个最低分再求平均分,试设计一个算法解决问题(假定分数为10分制,每位选手最低0分,最高10分).
思路分析:由于有12个评委,所以每位选手会有12个分数,我们可以利用循环结构来解决这12个分数的输入,并用累积变量求出这12个数的和.本题的关键在于从这12个输入的分数中找出最大值和最小值,以便从总分中减去.由于每个选手的最低分0分,最高分10分,我们不妨设最大数为0,最小数为10,然后每输入一个分数,就进行一次比较,如输入的数大于0我们就用其代替最大数,如果输入的数小于10,就用它替换最小数,依次比较下去,就能找到12个数中的最大数和最小数,循环结束从总和中减去最大数和最小数,再除以10便可以得到该选手的平均分.
解:程序步骤如下:
s=0
k=1
max=0
min=10
Do
INPUT x
s=s+x
IF max<=x THEN
max=x
END IF
IF min>=x THEN
min=x
END IF
LOOP UNTIL k>12
a=s-max-min
s=s/10
PRINT a
END
练习册系列答案
相关题目