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

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

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

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

程序填空题

1.给定程序中,函数fun的功能是:找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。

例如,当X值为5时,100~999之间各位上数字之和为5的整数有:104、113、122、131、140、203、212、221、230、302、3ll、320、401、410、500。共有15个。当x值为27时,各位数字之和为27的整数是:999。只有1个。

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

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

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

1 #include<stdio.h>

2 int fun(int x)

3 { int n,s1,s2,s3,t;

4 n=0;

5 t=100;

6 /**********found**********/

7 while(t<=__1__){

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

9 s1=t%10;s2=(__2__)%10;s3=t/100;

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

11 if(s1+s2+s3==__3__)

12 {printf(’’%d’’,t);

13 n++;

14 }

15 t++;

16 }

17 return n;

18 }

19 main()

20 { int x=-1;

21 while(x<0)

22 {printf(’’Please input(x>0):’’);scanf(’’%d’’,&x);}

23 printf(’’\nThe result is:%d\n’’,fun(x));

24 z}

(1)999

(2)t/10

(3)x

解析:在100~999之间(含100和999)所有整数中,取x的个位、十位和百位,可由x%10,x/10再对10求余、x/100分别得到。第一空:是补充while循环的终止条件,题干要求fun寻找100~999之间满足条件的数x,因此,循环终止条件是999,故第一空处应填“999”。第二空:“s1=t%10;s2(__2___)%10;s3=t/100;”可知s1求得t的个位数,s3求得t的百位数,因此,s2是求t的十位数。(t/10)变量t变成两位数,再次对10取余便得到t的十位数,因此第二空处应为“t/10”。第三空:“if(s1+s2+s3==__3___)”是判断t是否满足题干条件:各位上数字之和为x,故第三空处应为“x”。

程序修改题

2.给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量S中偶数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。

例如,当S中的数为:7654321时,t中的数为:642。

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

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

1 #include<stdio.h>

2 /**********found**********/

3 void fun(long s,long t)

4 {long s1=10;

5 s/=10;

6 *t=s%10;

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

8 while(s<0)

9 { s=s/100;

10 *t=s%10。s1+*t;

11 s1=s1*10;

12 }

13 }

14 main()

15 {long s,t;

16 printf(’’\nPlease enter s:’’);scanf(’’%1d’’,&s);

17 fun(s,&t);

18 printf(’’The result is:%1d\n’’,t);

19 }

(1)void fun(long s,long *t)

(2)while(s>0)

解析:函数目的是取出长整型变量s中偶数位上的数。(1)第一个标识下的形参t被定义为一个long型变量,而对应的主函数中的实参却是一个地址值。因此,t在函数定义中应该被定义为一个指针变量,即“void fun(long s,long t)”改为“void fun(longs,long*t)”。(2)第二个标识下的while循环控制表达式“s<0”要求s小于0才进入循环。而s的值总是大于0,故将“while(s<0)”改为“while(s>0)”。

程序设计题

3.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组S中,请编写函数fun,它的功能是:按分数的高低排列学生的记录,高分在前。

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

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

1 #include<stdio.h>

2 #define N 16

3 typedef struct

4 { char num[10];

5 int s;

6 } STREC;

7 void fun(STREC a[])

8 {

9 }

10 main()

11 {STREC s[N]={{]]GA005’’,85},{’’GA003’’,76},{’’GA002’’,69},{’’GA004’’,85},{’’GA001’’,91},{’’GA007’’,72},{’’GA008’’,64},{’’GA006’’,87},{–GA015’’,85},{’’GA013’’,91},{’’GA012’’,64},{’’GA014’’,91},{’’GA011’’,66},{”GA017”,64},{’’GA018”,64},{’’GA016’’,72}};

12 int i;FILE *out;

13 fun(s);

14 printf(’’The data after sorted:\n’’);

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

16 { if((i)%4==0)printf(’’\n’’);

17 printf(’’%s%4d’’,s[i].num,s[i].s);

18 }

19 printf(’’\n’’);

20 out=fopen(’’out.dat’’,’’w’’);

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

22{if((i)%4==0&&i)fprintf(out,’’\n’’);

23 fprintf(out,’’%4d’’,s[i].s);}

24 fprintf(out,’’\n’’);

25 fcl

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号