N个人围成一圈-从第一个开始报数-第k个退出-再从1开始报数-依次循环-直到最后一个人(共3页).docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《N个人围成一圈-从第一个开始报数-第k个退出-再从1开始报数-依次循环-直到最后一个人(共3页).docx》由会员分享,可在线阅读,更多相关《N个人围成一圈-从第一个开始报数-第k个退出-再从1开始报数-依次循环-直到最后一个人(共3页).docx(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上#include#include#includestruct ringint number;struct ring *next;struct ring* creat(int n )struct ring *q,*p,*head;int i=1;q=head=NULL;while(inumber=i;if(q=NULL)head=q=p;elseq-next=p;q=p;i+;q-next=head;return head;struct ring* delete_number(struct ring *head,int k)struct ring *q,*p;q=p=h
2、ead;if(head=NULL)printf(该链表中无数据元素,不能删除n);return head;while(1)q=p;p=q-next;if(p-number=k)if(p!=head)q-next=p-next;free(p);break;else if(p=head)q-next=p-next;head=p-next;break;return head;main()int n,k,i=0;int a;struct ring *head,*p,*q;while(1)printf(请输入总人数n和退出条件k的值n);printf(nn=);scanf(%d,&n);printf(nk=);scanf(%d,&k);printf(n);head=creat(n);p=q=head;while(1)q=p;p=q-next;i+;if(i%k=0&(head-next)!=head)head=delete_number(head,q-number);if(head-next)=head)break;if(p-next=head)i=i%k;printf(最后剩下的人是%d号n,p-number);printf(是否需要继续?1(继续) or 0(退出)n请输入0或1:);scanf(%d,&a);system(cls);if(a=0)break;专心-专注-专业
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 个人 一圈 第一 开始 报数 退出 依次 循环 直到 最后 一个人
![提示](https://www.taowenge.com/images/bang_tan.gif)
链接地址:https://www.taowenge.com/p-13483555.html
限制150内