某班有45名学生,一次数学测验,得到各自的成绩,请设计算法求出其中的最高分及平均分,画出程序框图.(可用a(i)表示第i个学生的成绩)
【答案】
分析:由于共有45名学生,所以每位学生各有一人分数,我们可以用循环语句来完成这45个分数的输入,同时设计累加变量求出这45个分数的和,本问题的关键在于从这45个输入分数中找出最大数(最高分),由于每位学生的分数都不小于0分,故我们可以先假设其中的最大数为0,然后每次输入一个学生的分数,就进行一次比较,若输入的数大于0,就将之代替最大数,依次下去,就能找出这45个数中的最大数,循环结束后,从总和再除以10,就得到学生最后的平均数.
解答:解:由题意得:
第一步:令S=0.max=0,i=1
第二步:累加a(i)的值到S;比较a(i)与max的大小,如果a(i)>max,则max=a(i);
第三步:是否已经统计每一个学生的成绩(i>45),如果是,则执行第四步,如果不是,则i=i+1后,返回第二步
第四步:输出max及

的值:
流程图如下:
点评:本题考查的知识点是设计程序框图解决实际问题,分析题意设计出满足条件的算法,并根据框图和语句的功能来实现该算法,是解答本题的关键.