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

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

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

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

程序填空题

1.给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符“*”补齐,使其与最长的字符串等长。ss所指字符串数组中共有M个字符串,且串长<N。

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

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

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

1 #include<stdio.h>

2 #include<string.h>

3 #define M 5

4 #define N 20

5 void fun(char(*ss)[N])

6 { int i,j,n,len=0;

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

8 {len=strlen(ss[i]);

9 if(i==0)n=len;

10 if(len>n)n=len;

11 }

12 for(i=0;i<M;i++) {

13 /**********found**********/

14 n=strlen( __1__);

15 for(j=0;j<len-n;j++)

16 /**********found**********/

17 ss[i][ __2__]=’*’;

18 /**********found**********/

19 ss[i][n+j+__3__]=’\0’;

20 }

21 }

22 main()

23 { char ss[M][N]={’’shanghai’’,’’guangzhou’’,’’beij ing’’,’’tianj ing’’,’’cchongqing’’};

24 int i;

25 printf(’’The original strings are:\n’’);

26 for(i=0;i<M;i++)printf(’’%s\n’’,ss[i]);

27 printf(’’\n’’);

28 fun(ss);

29 printf(’’The resuit is:\n’’);

30 for(i=0;i<M;i++)printf(’’%s\n’’,ss[i]);

31 }

(1)ss[i] (2)n+j (3)1

解析:函数fun的功能是求出形参ss所指字符串数组中最长字符串的长度。

第一空:第一个循环求最长字符串的长度“len”,在第二个循环内在其他字符串的后面补“*”,使其达到长度“len。”在“for(j=0;j<len-n;j++)”语句中,“i<len-n”是在字符串的后面填“len-n”个“*”,故n是字符串“ss[i]”的长度,因此第一空应为“ss[i]”。

第二空:循环“for(j=0;j<len-n;j++)”目的是在字符串的后面填len-n个“*”,第二空处应为“n+j”。

第三空:字符串以“\0”结束,因此需在字符串后加结束符,故第三空应为“1”。

程序修改题

2.给定程序MODl1.C中函数fun的功能是:将字符串中的字符按逆序输出,但不改变字符串中的内容。

例如,若字符串为abcd,则应输出:dcba。

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

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

1 #include<stdio.h>

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

3 fun(char a)

4 { if (*a)

5 { fun(a+1);

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

7 printf(’’%c’’*a);

8 }

9 }

10 main()

11 { char s[10]=’’abcd’’;

12 printf(’’处理前字符串=%s\n处理后字符串=’’,s);

13 fun(s);printf(’’\n’’);

14 }

(1)void fun(char *a) (2)printf(’’%c’’,*a);

解析:(1)主函数中“fun(s);”语句中的s是数组名,所以在fun函数中参数的定义应该是指针型,“fun(char a)”改为“void fun(char *a)”。

(2)printf函数的调用形式是:printf(格式字符串,输出项表),在格式字符串和输出项表之间有“,”,因此第二个标识处应该是“printf(’’%c’’,*a);”。

程序设计题

3.N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。

例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78.625。

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

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

1 #include<stdio.h>

2 #include<stdlib.h>

3 #define N 8

4 struct slist

5 {double s;

6 struct slist *next;

7 };

8 typedef struer slist STREC;

9 double fun(STREC *h)

10 {

11

12 }

13 STREC * creat(double * s)

14 {STREC *h,*p,*q;int i=0;

15 h=p=(STREC *)malloc(sizeof(STREC));p->s=0;

16 while(i<N)

17 {q=(STREC *) malloc(sizeof(STREC));

18 q->s=s[i];i++;p->next=q;p=q;

19 }

20 p->next=0;

21 return h;

22 }

23 outlist(STREC *h)

24 {STREC *p;

25 p=h->next;printf(’’head’’);

26 do

27 {printf(’’->%4.1f’’,p->s);p=p-> next;)

28 while(p!=0);

29 printf(’’\n\n’’);

30 }

31 main()

32 {double s[N]={85,76,69,85,91

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号