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

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

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

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

程序填空题

1.给定程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,形参s所指的字符串为:abcdef35adgh3kjsdf7。输出结果为:4。

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

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

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

1 #include<stdio.h>

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

3 { int i,n;

4 n=0;

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

6 for(i=0; __1__ !=0;i++)

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

8 if(s[i]>=’0’ &&s[i]<=__2__)n++;

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

10 __3__;

11 }

12 main()

13 {char s[80]=’’abcdef35adgh3kjsdf7’’;

14 int t;

15 printf(’’\nThe original string is:%s\n’’,s);

16 fun(s,&t)’

17 printf(’’\nThe result is:%d\n’’,t);}

(1)s[i] (2)’9’ (3)*t=n

解析:搜索整个字符串,判断s[i]>=’0’且s[i]<=’9’,满足该条件后,计数变量加1,因此

第一空:循环终止条件是达到了字符串的尾部,字符串以“\0”(或NULL)结束,故第一空处应为s[i]。第二空:数字字符的判断是s[i]>=’0’且s[i]<=’9’,故第二空处应为“’9’”。第三空:这里是将数字字符出现的次数存放在形参t里,n记录了数字字符的个数,而形参t是指针变量,故第三处应为“*t=n”。

程序修改题

2.给定程序MODI1.C中fun函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。

例如,若输入“I am a student to take the examination.”,则应输出“I aM A studenT tO takE thE examination.”。

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

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

1 #include<ctype.h>

2 #include<stdio.h>

3 #include<string.h>

4 void fun(char *p)

5 {

6 int k=0;

7 for(;*p;p++)

8 if(k)

9 {

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

11 if(p==’ ’)

12 {

13 k=0;

14 /**********found**********/

15 (p)=toupper(*(p-1))

16 }

17 }

18 else

19 k=1;

20 }

21 main()

22 {

23 char chrstr[64];

24 int d;

25

26 printf(’’\nPlease enter an English sentence within 63 letters:’’);

27 gets(chrstr);

28 d=strlen(chrstr);

29 chrstr[d]=’ ’;

30 chrstr[d+1]=0 ;

31 printf(’’\n\nBefore changing:\n%s’’,chrstr);

32 fun(chrstr);

33 printf(’’\nAfter changing:\n%s’’,chrstr);

34 }

(1)if(*p==’ ’) (2)*(p-1)=toupper(*(p-1));

解析:函数的功能是将每个单词的最后一个字母改成大写。

(1)第一个错误标识下的if语句应该是判断字符串中的字符是否是空格,根据“for(;*p;p++)”语句中for循环条件中p的定义应该为字符型指针变量,*p是取p所指存取单元的值,所以“if(p==’ ’)”应该改为“if(*p==’ ’)”。

(2)题干中要求是将每个单词的最后一个字母改成大写,所以它的位置应该是挨着空格的前一个字符,应该是指针p指向字符的前一个位置,“*p=toupper(*(p-1))”是将改动的值赋给了p所指的空格,所以应该改为“*(p-1)=toupper(*(p-1));”且语句未尾应有分号。

程序设计题

3.请编写函数fun,函数的功能是:删去一维数组电所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。

例如,一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。

删除后,数组中的内容应该是:2 3 4 5 6 7 8 9 10。

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

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

1 #include<stdio.h>

2 #define N 80

3 int fun(int a[],int n)

4 {

5 {

6 }

7 main()

8 { int a[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10},i,n=20; void NONO();

9 printf(’’The original data:\n’’);

10 for(i=0; i<n; i++)printf(’’%3d’’, a[i]);

11 n=fun(a,n);

12 printf(’’\n\nThe data after deleted:\n’’);

13 for(i=0;i<n;i++) printf(’’%3d’’,a[i]); printf(’’\n\n’’);

14 NONO();

15 }

16 void NONO()

17 {/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/

18 FILE *rf,*wf;int a[N],n,i,j;

19 rf=fopen(’’i

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号