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

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

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

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

程序填空题

1.给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新的数,并作为函数值返回。

例如,从主函数输入一个整数:27638496,函数返回值为:26846。

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

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

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

1 #include<stdio.h>

2 unsigned long fun(unsigned long n)

3 { unsigned long x=0,s,i;int t;

4 s=n;

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

6 i= __1__;

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

8 while(__2__)

9 { t=s%10;

10 if(t%2==0) {

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

12 x=x+t*i;i=__3__;

13 }

14 s=s/10;

15 }

16 return x;

17 }

18 main()

19 { unsigned long n=-1;

20 while(n>99999999 || n<0)

21 {printf(’’Please input(0<n<100000000):’’);scanf(’’%1d’’,&n);}

22 printf(’’\nThe result is:%1d\n’’,fun(n));

23 }

(1)1

(2)s

(3)i*10

解析:函数fun的功能是将形参n中,各位上为偶数的数取出,组成新数。

第一空:由“if(t%2==0){x=x+t*i;i=___3__;}\\

程序修改题

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函数的定义中对于二维数组的定义在原题中并没有给出空间,所以将\\

程序设计题

3.函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位和个位数依次放在变量c的个位和首位上。

例如,当a=45,b=12。调用该函数后,c=4251。

注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。

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

1 #include<stdio.h>

2 void fun(int a,int b,long *c)

3 {

4 }

5 void NONO()

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

7 FILE *rf,*wf;

8 int i,a,b;long c;

9 rf=fopen(’’in.dat’’,’’r’’);

10 wf=fopen(’’out.dat’’,’’w’’);

11 for(i=0;i<10;i++) {

12 fscanf(rf,’’%d,%d’’,&a,&b);

13 fun(a,b,&c);

14 fprintf(wf, ’’a=%d,b=%d,c=%1d\n’’,a, b, c);

15 }

16 fclose(rf);

17 fclose(wf);

18 }

19 main()

20 { int a,b;long c;void NONO();

21 printf(’’Input a,b:’’);

22 scanf(’’%d%d’’,&a,&b);

23 fun(a,b,&c);

24 printf(’’The result is:%1d\n’’,c);

35 NONO();}

*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);

解析:(1)分解两位数的正整数n的个位和十位数,可用n%10和n/10实现。(2)设x0、x1、x2、x3为一位数,则x0、x1×10、x2×100、x3×1000,可以分别使x0、x1、X2、x3构成个、十、百、千带权数,而x0+x1×10+x2×100+x3×1000构成四位数。本题最多只考虑四位数。

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号