当前位置:快学网资格考试计算机等级考试2017年计算机二级考试C语言填空模拟试题三» 正文

2017年计算机二级考试C语言填空模拟试题三

[05-16 16:21:15]   来源:http://www.kuaixue5.com  计算机等级考试   阅读:8233
概要: 概要:1. 给定程序的功能是计算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
2017年计算机二级考试C语言填空模拟试题三,标签:计算机等级考试试题,全国计算机等级考试试题,http://www.kuaixue5.com

1. 给定程序的功能是计算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

解析:求和问题


Tag:计算机等级考试计算机等级考试试题,全国计算机等级考试试题计算机等级考试
上一篇:2017年计算机二级考试C语言填空模拟试题二

发表评论

表达一些您的想法吧!

文明评论,理性发言!

分类导航