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

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

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

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

程序填空题

1.给定程序中,函数fun的功能是:有N×N矩阵,将矩阵的外围元素顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列。

例如,若N=3,有下列矩阵:

1 2 3 计算结果为 7 4 1

4 5 6 8 5 2

7 8 9 9 6 3

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

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

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

1 #include<stdio.h>

2 #define N 4

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

4 { int j,r[N];

5 for(j=0;j<N;j++)r[j]=t[0][j];

6 for(j=0;j<N;j++)

7 /**********found**********/

8 t[0][N-j-1]=t[j][__1__];

9 for(j=0;j<N;j++)

10 t[j][0]=t[N-1][j];

11 /**********found**********/

12 for(j=N-1;j>=0;__2__)

13 t[N-1][N-1-j]=t[j][N-1];

14 for(j=N-1;j>=0;j–)

15 /**********found**********/

16 t[j][N-1]=r[__3__];

17 }

18 main()

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

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

21 for(2=0;i<N;i++)

22 {for(j=0;j<N;j++)printf(’’%2d”,t[i][j]);

23 printf(’’\n’’);

24 }

25 fun(t);

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

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

28 { for(j=0;j<N;j++)printf(’’%2d’’,t[i][j]);

29 printf(’’\n’’);

30 }

31 }

(1)0 (2)j– (3)j

解析:第一空:由审题分析可知,此处是使第一列成为第一行,即把第一列元素移动到第一行,第一列元素是“t[j][0]”,第一行元素是“t[0][N-j-1]”,故第一空处应为“0”。

第二空:第四个循环是最后一列成为最后一行,即将最后一列移动到最后一行,“for(j=N-1;j>=0;__2__)”循环变量i从N-1开始,到0结束,共循环N次,故j每次减1,第三空处是“i–”。

第三空:最后一个循环将临时数组中的元素成为最后1列,即“t[=i][N-1]=r[j]”,故第三空处应为“j”。

程序修改题

2.给定程序MODI1.C中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上元素之和,返回此和数。

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

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

1 #include<stdio.h>

2 #define M 5

3 /**********found**********/

4 int fun(int n,int xx[][])

5 { int i,j,sum=0;

6 printf(’’\nThe%d x%d matrix:\n’’, M, M);

7 for(i=0 ; i<M;i++)

8 { for(j=0;j<M;j++)

9 /**********found**********/

10 printf(’’%f’’,xx[i][j]);

11 printf(’’\n’’);

12 }

13 for(i=0;i<n;i++)

14 sum +=xx[i][i]+xx[i][n-i-1];

15 return(sum);

16 }

17 main()

18 { int aa[M][M]={{1,2,3,4,5},{4,3,2,1,0},{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};

19 printf(’’\nThe sum of all elements on 2 diagnals is%d.’’,fun(M,aa));

20 }

(1)int fun(int n,int xx[][M]) (2)printf(’’%4d’’,xx[i][j]);

解析:函数的功能是求两条对角线上各元素之和。

(1)第一个标识下fun函数的定义中对于二二维数组的定义在原题中并没有给出空间,所以将“int fun(int n,int xx[][])”改为“int fun(int n,int xx[][M])”。(2)fun函数中n是int型,C语言输出语句中整型应该是%d,所以第二个标识下“printf(’’%f’’,xX[i][j]);”应该改为“printf(’’%4d\\

程序设计题

3.请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。

例如,输入beijing<CR>shanghai<CR>(<CR>为回车键),函数将返回shanghai。

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

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

1 #include<stdio.h>

2 char *fun(char *s,char *t)

3 {

4 }

5 main()

6 { char a[20],b[20];

7 void NONO();

8 printf(’’Input:1th string:’’);

9 gets(a);

10 printf(’’Input 2th string :’’);

11 gets(b);

12 printf(’’%s\n’’,fun(a,b));

13 NONO();

14 }

15 void NON

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号