填空题 给定程序的功能是将n个人的考试成绩进行分段统计,考试成绩放在a数组中,各分段的人数存到b数组中:成绩为60~69的人数存到b[0]中,成绩为70~79的人数存到b[1]中,成绩为80~89的人数存到b[2]中,成绩为90~99的人数存到b[3]中,成绩为100的人数存到b[4]中,成绩为60分以下的人数存到b[5]中。
例如,当a数组中的数据是:93、85、77、68、59、43、94、75、98,调用该函数后,b数组中存放的数据应是:1、2、1、3、0、2。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
void fun(int a[],int b[],int n)
{
int i;
for(i=0;i<6;i++)
b[i]=0;
for(i=0;i< 1;i++)
if(a[i]<60)
b[5]++;
2
b[(a[i]-60)/10]++;
}
void main()
{
int i,a[100]={93,85,77,68,59,43,94,75,98},b[6];
fun( 3,9);
printf("the result is:");
for(i=0;i<6;i++)
printf("%d",b[i]);
printf("n,");
}
【正确答案】
【答案解析】n else a,b[解析] 分段统计题。fun()函数中第一个循环的功能是将数组b清零;第二个循环的作用是分别记录各分数段的人数,具体步骤是遍历数组a取出第i个考生的成绩,将此成绩依次做判断,找到它的分数段,然后将记录该分数段的人数的变量加1,遍历结束数组b中存放的就是各分数段人数的记录。