国家二级(C语言)机试模拟试卷21 (二).pdfVIP

国家二级(C语言)机试模拟试卷21 (二).pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

国家二级(C语言)机试模拟试卷第1

一、程序填空题(本题共I题,每题1.0分,共J分0)

1、给定程序中已建一个带有头结点的单向链表,链表中的各结点按数据域递增

有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一

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

果。注意:源程序存放在考生文件夹下的BLANKI.C中。不得增行或删行,也

不得更改程序的结构!#include#include#defineN8typedefstructlist(intdata;struct

list*next;}SLIS;voidfun(SLIS*h){SLIS*p,*q;p=h-nexl;if(p!=NULL)

{q=p-next;while(q!=NULL){if(p-data==q-data)[p-next=q-next;

/**********found*****率****/free([1]),/**********found**********/q=p-

[2];}else{p=q;/***%*****东found**********/q=q-[3]:}}}}SLIS

*creatlist(int*a){SLIS*h,*p,*q;inti;h=p=(SLIS*)malloc(sizeof(SLIS));for(i=0;

idata=a[i];p-next=q;p=q;}p-next=0;returnh;}voidoutIist(SLIS*h){SLIS*p;

p=h-next;if(p==NULL)printf(\nhelistisNULL!\n);else{printf(\nHead);do

MH

{printf(-%d,p-data);p=p-next;}while(p!=NULL);printf(-End\n);)}main()

{SLIS*head;inta[N]=[1,2,2,3,4,4,4,5);head=creatlist(a);printf(\nhelistbefore

deleting:\n);outlist(hcad);fun(hcad);printf(\nhclistafterdeleting:\n);

outlist(head);)

标准答案:qnextnext

知识点解析•:第一空:p和q是两个SLIS结构体指针,分别指向两个相邻的结

点°“if(p-data==q-dalay’成则应该删除其中一个结点,p・next二q・nex匕p指

向q的下一个结点,那么q结点就可以删除了,因比第一空处应该为“free(q);”。

第二空:在第一空处,q指向的结点已经被删除,如果要继续循环搜索数据域道相

同的结点,那么q需要重新指向p的下一个结点,因此第二空处应该为

“q=p-next;。第三空:如果“if(p-data==q-data)”不成,那么p和q都向结点

尾移动一个结点位置,因此第三空处应该是“q=q-ncxt;。

二、程序修改题(本题共I题,每题上0分,共1分,)

2、给定程序MODII.C中函数fun的功能是:用冒泡法对6个字符串按由小到大

的顺序进行排序。请改正程序中的错误,使它能得出正确的结果。注意:不要改

动main函数,不得增行或删行,也不得更改程序的结构!#inckide#include#define

x

MAXLINE20fun(charpstr[6])(inti,j;char*p;for(i=0,i5,i++)

{/****

文档评论(0)

zsmfjy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档