【计算机类职业资格】二级C语言机试-93及答案解析.doc
《【计算机类职业资格】二级C语言机试-93及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言机试-93及答案解析.doc(9页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言机试-93 及答案解析(总分:100.00,做题时间:90 分钟)一、填空题(总题数:1,分数:30.00)在给定程序中,函数 fun 的功能是:将不带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANK1.C 中。不得增行或删行,也不得更改程序的结构。文件 BLANK1.C 内容如下:#includestdio.h#includestdlib.h#define N 5typedef
2、 struct nodeint data;struct node *next;NODE;/*found*/(1) fun(NODE *h)NODE *p,*q,*r;p=h;if(p=NULL)return NULL;q=p-next:p-next=NULL;/*found*/while( (2) )r=q-next; q-next=p;p=q;/*found*/q= (3) ;return p;NODE *creatlist(int a) NODEh,*p,*q;int i;h=NULL;for(i=0;iN;i+)q=(NODE%)malloc(sizeof(NODE);q-data=ai
3、;q-next=NULL;if(h=NULL)h=p=q; else p-next=q;p=q;return h;void outlist(NODE *h)NODE *p;p=h;if(p=NULL)printf(“The list is NULL!/n“);elseprintf(“/nHead“);doprintf(“-%d“,p-data);p=p-next; while(p!=NULL);printf(“-End/n“);void main( )NODE *head;int aN=2,4,6,8,10;head=creatlist(a):printf(“/nThe original li
4、st: /n“);outlist(head);head=fun(head);printf(“/nThe list after inverting: /n“);outlist(head);(分数:30.00)填空项 1:_填空项 1:_填空项 1:_二、改错题(总题数:1,分数:30.00)1.给定程序 MODI1.C 中函数 Creatlink 的功能是创建带头结点的单向链表,并为各结点数据域赋 0(m-1)的值。请改正程序中的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。文件 MODI1.C 内容如下:#includestdio.h#inc
5、ludestdlib.htypedef struet aaint data;struct aa *next;NODE;NODE *Creatlink(int m)NODE *h=NULL,*p,*s;int i;/*found*/P=(NODE)malloc(sizeof(NODE);h=p;p-next=NULL;for(i=0;im;i+)s=(NODE *)malloc(sizeof(NODE);s-data=i:s-next=p-next; p-next=s; p=p-next; /*found*/return p;void outlink(NODE *h)NODE *p;p=h-ne
6、xt;printf(“/n/nTHE LIST: /n/n HEAD“);while(p)printf(“-%d“,p-data);p=p-next; printf(“/n“); void main()NODE *head;head=Creatlink(8);outlink(head);(分数:30.00)填空项 1:_三、编程题(总题数:1,分数:40.00)2.在主函数中已将 N 名学生的成绩放入一个带头结点的链表结构中,h 指向链表的头结点。请编写函数fun,它的功能是:求出平均分,由函数值返回。例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78.
7、625。注意:部分源程序在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。文件 PROG1.C 内容如下:#includestdio.h#includestdlib.h#define N 8struct slist double s ;struct stist * next;typedef struct slist STREC;double fun(STREC * h )STREC * creat( double * s) STREC * h, * p, * q;int i=0;h = p = (STREC * )
8、malloe (sizeof( STREC );p-s=0;while(iN) q=(STREC * ) malloe ( sizeof( STREC ) ) ;q-s=si ;i+;p-next = q ;p=q;p-next = 0 ;return h ;void outlist (STREC * h)STREC * p ;p = h-next ;prinff( “ head“ ) ;do prinff( “ -% 4.1f“ , p-s) ;p=p-next;while(p! =0);printf(“ /n/n“ ) ;void main( ) double sN=85,76,69,85
9、,91,72,64,87,ave;STREC * h ;h=creat( s );outlist (h) ;ave=fun( h );prinff(“ave= %6.3f/n“ ,ave) ;(分数:40.00)_二级 C 语言机试-93 答案解析(总分:100.00,做题时间:90 分钟)一、填空题(总题数:1,分数:30.00)在给定程序中,函数 fun 的功能是:将不带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:源程序存
10、放在考生文件夹下的 BLANK1.C 中。不得增行或删行,也不得更改程序的结构。文件 BLANK1.C 内容如下:#includestdio.h#includestdlib.h#define N 5typedef struct nodeint data;struct node *next;NODE;/*found*/(1) fun(NODE *h)NODE *p,*q,*r;p=h;if(p=NULL)return NULL;q=p-next:p-next=NULL;/*found*/while( (2) )r=q-next; q-next=p;p=q;/*found*/q= (3) ;ret
11、urn p;NODE *creatlist(int a) NODEh,*p,*q;int i;h=NULL;for(i=0;iN;i+)q=(NODE%)malloc(sizeof(NODE);q-data=ai;q-next=NULL;if(h=NULL)h=p=q; else p-next=q;p=q;return h;void outlist(NODE *h)NODE *p;p=h;if(p=NULL)printf(“The list is NULL!/n“);elseprintf(“/nHead“);doprintf(“-%d“,p-data);p=p-next; while(p!=N
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 93 答案 解析 DOC
