题目内容

青年歌手电视大赛共有10名选手参加,并请了12名评委,在计算每位选手的平均分数时,为了避免个别评委所给的极端分数的影响,必须去掉一个最高分和一个最低分后再求平均分.试设计一个算法解决该问题,要求画出程序框图,写出程序(假定分数采用10分制,即每位选手的分数最高分为10分,最低分为0分).

解:由于共有12位评委,所以每位选手会有12个分数,我们可以用循环语句来完成这12个分数的输入,同时设计累加变量求出这12个分数的和,本问题的关键在于从这12个输入分数中找出最大数与最小数,以便从总分中减去这两个数.由于每位选手的分数都介于0分和10分之间,我们可以先假设其中的最大数为0,最小数为10,然后每次输入一个评委的分数,就进行一次比较,若输入的数大于0,就将之代替最大数,若输入的数小于10,就用它代替最小数,依次下去,就能找出这12个数中的最大数与最小数,循环结束后,从总和中减去最大数与最小数,再除以10,就得到该选手最后的平均分.

程序框图如图:

程序如下:s=0

i=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

i=i+1

LOOP UNTIL i>12

s1=s-max-min

a=s1/10

PRINT  a

END

课堂小结

(1)学会两种循环语句的应用.

(2)熟练应用两种循环语句编写计算机程序,巩固算法应用.

练习册系列答案
相关题目

违法和不良信息举报电话:027-86699610 举报邮箱:58377363@163.com

精英家教网