首页 > 全部 > 二级C语言 > 国家二级C语言机试(操作题)模拟试卷721

国家二级C语言机试(操作题)模拟试卷721

本单篇文档共4144字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 章节练习 4355人下载
价格: 0.80 原价:¥8.80
收藏

国家二级C语言机试(操作题)模拟试卷721

程序填空题

1.给定程序中,函数fun的功能是:有N×N矩阵,根据给定的m(m<=N)值,将每行元素中的值均右移m个位置,左边置为0。例如,N=3,m=2,有下列矩阵

1 2 3

4 5 6

7 8 9

程序执行结果为

0 0 1

0 0 4

0 0 7

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

1 #include<stdio.h>

2 #define N 4

3 void fun(int(*t)[N],int m)

4 { int i,j;

5 /**********found**********/

6 for(i=0;i<N;__1__)

7 { for(j=N-1-m;j>=0;j–)

8 /**********found**********/

9 t[i][j+__2__]=t[i][j];

10 /**********found**********/

11 for(j=0;j<__3__;j++)

12 t[i][j]=0;

13 }

14 }

15 main()

16 {int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j,m;

17 printf(’’\nThe original array:\n’’);

18 for(i=0;i<N;i++)

19 { for(j=0;j<N;j++)

20 printf(’’%2d’’,t[i][j]);

21 printf(’’\n’’);

22 }

23 printf(’’Input m(m<=%d):’’,N);scanf(’’%d’’,&m);

24 fun(t,m);

25 printf(’’\nThe result is:\n’’);

26 for(i=0;i<N;i++)

27 { for(j=0;j<N;j++).

28 printf(’’%2d’’,t[i][j]);

29 printf(’’\n’’);

30 }

31 }

(1)i++

(2)m

(3)m

解析:函数fun的功能是将每行元素中的值均右移m个位置。

第一空:题目要求对每行元素中的值均右移m个位置,故第一空处循环变量每次增1,共循环N次,完成对N行的移位操作,因此,第一空处应为“i++”。

第二空:循环“for([j=N-1-m;j>=0;j–)”是进行行元素中的值右移m个位置,即把t[i][j]元素放置在t[i][j+m]上,因此,第二空应为“m”。

第三空:循环“for([j=0;j<__3__;j++)”是对空出来的位置补0,每行元素的前m位数据已经移动到后面,每行空处m个元素,因此,第三空为“m”。

程序修改题

2.给定程序MODI1.C中函数fun的功能是:计算并输出high以内最大的10个素数之和。high的值由主函数传给fun函数。

若higI1的值为:100,则函数的值为:732。

请改正程序中的错误,使程序能输出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

1 #include<stdio.h>

2 #include<math.h>

3 int fun(int high)

4 { int sum=0,n=0,j,yes;

5 /************found************/

6 while((high>=2)&&(n<10)

7 { yes=1;

8 for(j=2;j<=high/2;j++)

9 if(high%j==0) {

10 /************found************/

11 yes=0;break

12 }

13 if(yes) {sum+=high;n++;}

14 high–;

15 }

16 return sum;

17 }

18 main()

19 {

20 printf(’’%d\n’’,fun(100));

21 }

(1)while((2<=high)&&(n<10))

(2)yes=0;bareak;

解析:函数的功能是计算并输出high以内最大的10个素数之和。

(1)C语言中左右括弧必须成对出现,在第一个标识下“while((high>=2)&&(n<10)”中,显然缺少一个右括弧,应改为“while((2<=high)&&(n<10))”。

(2)在判断素数的循环过程中,只要被判断的数能被某数整除就不是素数,就会跳出判断循环,在C语言中使用break语句跳出循环,并且C语言中的语句使用分号为结尾。所以“break”应改为“break;”。

程序设计题

3.编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。

xn+1=cos(xn)

迭代步骤如下:

(1)取x1初值为0.0;

(2)x0=x1,把x1的值赋给x0;

(3)x1=cos(x0),求出一个新的x1;

(4)若x0-x1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);

(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。

程序将输出结果Root=0.739086。

注意:部分源程序在文件PROG1.C中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

1 #include<math.h>

2 #include<stdio.h>

3 double fun()

4 {

5

6 }

7 main()

8 {

9 void NONO();

10 printf(’’Root=%f\n’’,fun());

11 NONO();

12 }

13 void NONO()

14 {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

本文档预览:3600字符,共4144字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C语言机试(操作题)模拟试卷721

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号