阅读以下说明和流程图,填写流程图中的空缺,将解答填入答题纸的对应栏内。
【说明】
下面流程图旨在对某次数学竞赛成绩进行统计,包括统计平均分、最高分、最低分和各分数段的人数。参赛选手共有n人,每人的百分制成绩已存储在数组C[1:n]中。将成绩从低到高分为m段(m>1),各段的最高分按顺序存储在数组d[1:m]中 (d[m]=100),分数段区间依次为(0,d[1]),(d[1], d[2]),(d[2], d[3]),...,(d[m-1], d[m])。流程图中,变量S存放当前累计所得的成绩之和,变量H和L存放当前的最高分和最低分,各分数段人数的统计结果保存在数组R[1:m]中。
【流程图】
注:“循环开始”框内给出循环控制变量的初值、终值和增值(默认为1),格式为:
循环控制变量=初值,终值[,增值]
本题考查对算法流程图的理解和设计能力。
流程图开始时需要给变量S,H,L以及数组R赋初值。
变量S用于累计求和,因此开始时赋初值0,每处理一个成绩C[i],就需要执行一次累加C[i]+S→S,最后输出结果时再计算平均分S/n。因此,(1)处应填C[i]+S。
为计算最高分H,需要先给H赋最小的值0作为初值。每当一个成绩C[i]超过H时,应执行C[i]→H,最后得到的H就是最高分值。因此,(2)处应填C[i]→H。
为计算最低分L,需要先给L赋最大的值100作为初值。每当一个成绩C[i]低于L时,应执行C[i]→L,最后得到的L就是最低分值。因此,(3)处应填C[i]→L。
为按照分数段区间(0,d[1]),(d[1], d[2]),(d[2], d[3]),....,(d[m-1], d[m])统计各分数段的人数,对每个成绩C[i]应分别与d[1],d[2],…,d[i],..,d[m]进行比较。当C[i]首次小于某个d[j]时,就应执行R[j]+1→R[j]。因此,(5)处应填R[j]+1。