c语言编笔试题大全.docVIP

  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语言编程笔试题大全 2007年03月19日 星期一 00:15 1、线形表a、b为两个有序升序的线形表,编写一程序,使两个有序线形表合并成一个有序升序线形表 答案在 请化大学 严锐敏《数据结构第二版》第二章例题,数据结构当中,这个叫做:两路归并排序 Linklist *unio(Linklist *p,Linklist *q){ linklist *R,*pa,*qa,*ra; pa=p; qa=q; R=ra=p; while(pa-next!=NULLqa-next!=NULL){ if(pa-dataqa-data){ ra-next=qa; qa=qa-next; } else{ ra-next=pa; pa=pa-next; } } if(pa-next!=NULL) ra-next=pa; if(qa-next!=NULL) ra-next==qa; return R; } 2.单连表的建立,把a--z26个字母插入到连表中,还要打印! ?? ???? node *p=NULL; ??????? node *head=(node*)malloc(sizeof(node)); ??????? head-next=NULL; ??????? p=head; ??????? int longth=a-z; ??????? int i; ??????? while(i=longth) ??????? { ?????????????? node *temp; ?????????????? temp = (node *)malloc(sizeof(node)); ?????????????? temp-data = i+a;temp-next=NULL;p=temp; ?????????????? p-next=p; ?????????????? i++; ??????? } ??????? return head; print(head); 3、约瑟夫环: 约瑟夫环问题的一种描述是:编号为1.2.3…….n的n个人按顺时针方向围坐一圈,每人手持一个密码(正整数),开始任意选一个整数作为报数上限值,从第一 个人开始顺时针自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他顺时针下一个人开始重新从1开始报数,如此下去直到所有 的人全部都出列为止。试设计程序实现。 要求:利用循环链表存储结构模拟此过程,按照出列的顺序打印各人的编号。 测试数据:m的值初始为20:密码3 ,1,7,2,4,8,4。 正确的结果:6,1,4,7,2,3,5。 提示:程序运行后首先要求用户指定初始报数上限。然后读取各人的密码。设 n30 ******算法思想:利用循环链表******* ******问题的规模是n个人,每次杀掉第m ******个人,n和m由用户输入,程序输出最后 ******一个活着的人的编号*************/ #include iostream using namespace?? std; /*****约瑟夫问题的节点*******/ typedef?? struct node { int??? number; node * next; }yuesefu_node; /**********建立n个人的循环链表*******/ yuesefu_node * create_chink(int n) { yuesefu_node *head; //头指针 yuesefu_node * p=new yuesefu_node; //p是第一个约瑟夫节点 head=p; p-number=1; p-next=NULL; int i=2; while(i=n) { ?? yuesefu_node *q=new yuesefu_node; //新增一个约瑟夫节点 ?? q-number=i; ?? if (i==n) ?? { ??? q-next=head; ?? } ?? else ?? { ??? q-next=NULL; ?? } ?? p-next=q; ????? p=q; ?? i++; } return?? head; } void out_chink(yuesefu_node *head) { yuesefu_node *p=head; while(p-next!=head) { ?? coutp-number?? ; ?? p=p-next; } coutp-numberendl; } void?? kill_out(yuesefu_node *head,int n,int m) { if (nm) { ?? cout************************endl;

文档评论(0)

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

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

1亿VIP精品文档

相关文档