概要:w[j++] = ___1___ ;return j ;}main(){int i, n, below[9] ;int score[9] = {10, 20, 30, 40, 50, 60, 70, 80, 90} ;n = fun(score, 9, ___2___) ;printf( “\nBelow the average score are: ” ) ;for (i = 0 ; i 《 n ; i++) printf(“%d ”, ___3___) ;}第一处:score[i]第二处:below第三处:below[i]解析:求平均值,应先求和。此处,和 与平均值使用了同一个变量。Score[ ]是原来的成绩,Below【 】存放低于平均分的分数,还有人数。Below的长度一定不大于score的长度。Below的长度必须通过计数才能得到,且是在比较的过程中得到的。Below数组的长度用j来计数,其初值当然为0。Fun函数中:先求总分,平均分;再比较,比平均分低,存于below,j++。J是后加,不能错了。函数fun的返回值赋值给n,n就是below数组的长度。2. 在主函数中从键盘输入若干个
2017年计算机二级考试C语言填空模拟试题三,http://www.jdxx5.com1. 给定程序的功能是计算score中m个人的平均成绩aver,将低于aver的成绩放在below中,通过函数名返回人数。
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++)
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} ;
n = fun(score, 9, ___2___) ;
printf( “\nBelow the average score are: ” ) ;
for (i = 0 ; i 《 n ; i++) printf(“%d ”, ___3___) ;
}
第一处:score[i]
第二处:below
第三处:below[i]
解析:求平均值,应先求和。此处,和 与平均值使用了同一个变量。
Score[ ]是原来的成绩,
Below【 】存放低于平均分的分数,还有人数。Below的长度一定不大于score的长度。Below的长度必须通过计数才能得到,且是在比较的过程中得到的。Below数组的长度用j来计数,其初值当然为0。
Fun函数中:先求总分,平均分;再比较,比平均分低,存于below,j++。
J是后加,不能错了。
函数fun的返回值赋值给n,n就是below数组的长度。
2. 在主函数中从键盘输入若干个数放入数组x中,用0结束输入但不计入数组。下列给定程序中,函数fun功能是:输出数组元素中小于平均值的元素。
void fun(___1___,int n)
{
double sum=0.0;
double average=0.0;
int i=0;
for(i=0;i
___2___;
average=___3___;
for (i=0;i
if(x[i]
{
if(i%5==0)
printf(“\n”);
printf(“%d, ”,x[i]);
}
}
第一处:int x
第二处:sum+=x[i]
第三处:sum/n
解析:算法思想同上题
3. 请补全fun函数,该函数的功能是求不超过给定自然数的各个偶数之和。
int fun(int x)
{
int i,s;
s=___1___;
for(___2___)
s+=i;
return s;
}
第一处:0
第二处:i=2; i
解析:求和,和的初值s为0。
最小的非负偶数是0,偶数间的大小关系是
相差2。
4. 请补全main函数,该函数的功能是:计算并输出下列多项式的值。
S=1+1/(1+2)+1/(1+2+3)+……+1/(1+2+3+……+50)
#include
___1___ fun(int n)
{
int i,j;
double sum=0.0,t;
for(i=1;i《=n;i++)
{
t=0.0;
for(j=1;j《=i;j++)
t+= ___2___;
sum+= ___3___;
}
return sum;
}
第一处:double
第二处:j
第三处:1.0/t
解析:S中的每一项的分母是1+2+3+……+i 需要用一个一重循环实现,
把所有商相加,需要用一个循环;
组合起来整个就需要二重循环。内循环求每个单项的和,外循环求商的和。
每单项的分子是1,应该用浮点数1.0;
每单项的分母是求和,和的初值为0.0;
函数的返回值是浮点数。
5. 请补全main函数,该函数的功能是,计算两个自然数n和m(m《10000)之间所有数的和。n和m从键盘输入。
main()
{int n,m;
long sum;
___1___;
clrscr();
printf(“\nInput n,m\n”);
scanf(“%d,%d”,&n,&m);
while( n《=m )
{
___2___;
n++;
}
printf(“sum=% ___3___\n”,sum);
}
第一处:sum=0
第二处:sum += n
第三处:ld
解析:求和问题