题目内容

青年歌手大奖赛共有10名选手参加,并请了12名评委,在计算每位选手的平均分时,为了避免个别评委所给的极端分数的影响,必须去掉一个最高分跟一个最低分再求平均分,试设计一个算法解决问题.(假定分数为10分制,每位选手最低0分,最高10分)

解:程序步骤如下:

s=0;

max=0;

min=10;

for k=1:1:12

x=input(“x=”);

s=s+x;

if max<=x

     

max=x;

end

if min>=x

min=x;

end

a=s-max-min;

s=s/10;

disp(a)

思路分析:由于有12个评委,所以每位选手都会有12个分数,我们可以利用循环结构来解决这12个分数的输入,并用累积变量求出这12个数的和.本题的关键在于从这12个输入的分数中找出最大值和最小值,以便从总分中减去.由于每个选手的最低分0分,最高分10分,我们不妨设最大数为0,最小数为10,然后每输入一个分数,就进行一次比较,如输入的数大于0我们就用其代替最大数,如果输入的数小于10,就用它替换最小数,依次比较下去,就能找到12个数中的最大数和最小数,循环结束从总和中减去最大数和最小数,再除以10便可以得到该选手的平均分.

练习册系列答案
相关题目

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

精英家教网