第三套
1.给定程序的功能是计算 score 中 m 个人的平均成绩 aver,将低于 aver 的成绩放在 be-low
中,通过函数名返回人数。
例如,当 score={10,20,30,40,50,60,70,80,90},m=9 时,函数返回的人数应
该是 4,below={10,20,30,40}。
请在程序的下划线出填入正确的内容并把下划线删除,是程序得出正确的结果。
注意:源程序存放在考生文件夹下的 BLANK1.C 中。
不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
#include <string.h>
int fun(int score[], int m, int below[])
{
int i, j = 0 ;
float aver = 0.0 ;
for(i = 0 ; i < m ; i++) aver += score[i] ;
aver /= (float) m ;
for(i = 0 ; i < m ; i++)
/**************found**************/
if(score[i] < aver) below[j++] = ___1___ ;
return j ;
}
main()
{ int i, n, below[9] ;
int score[9] = {10, 20, 30, 40, 50, 60, 70, 80, 90} ;
/**************found**************/
n = fun(score, 9, ___2___) ;
printf( "Below the average score are: " ) ;
/**************found**************/
for (i = 0 ; i < n ; i++) printf("%d ", ___3___) ;
}
参考答案
第一空:score[i]
第二空:below
第三空:below[i]
试题解析:
本题考查函数的调用,以及字符的访问。
程序中的 fun 函数的功能是计算 score 中 m 个人的平均成绩 aver,将低于 aver 的成绩放在
below 中通过函数名返回人数。
Fun 函数的 if 语句的功能是判断第 i 个人的个人成绩是否小于平均成绩,如果是,则将成绩