#include <stdio.h>
#include <stdlib.h>
typedef struct monkey
{
int num;/*猴子号码*/
struct monkey*next;
}ListNode,*Linklist;
/*=======================================主函数===============================*/
void main()
{
Linklist R;
int m,n,sn;
Linklist creat(int m,Linklist R);
Linklist XDW(int m,int n,Linklist R);
for(;;)
{
printf("请输入猴子总数m和数到n个猴子出队(n<m):\n");
scanf("%d%d",&m,&n);
if(m==1)
printf("只有你一只猴子,你就是猴子大王,恭喜恭喜!\n");
else if(n>=m||n==0)
printf("你的输入错误,请重新输入\n");
else
{
R=creat(m,R);
R=XDW(m,n,R);
}
printf("============================================\n");
printf("如果你想退出请输入0,如果要继续输入请输入1:\n");
scanf("%d",&sn);
if(sn==0)
break;
}
}
/*==============================建立单循环链表==============================*/
Linklist creat(int m,Linklist R)
{
ListNode *p,*q;
int i;
R=q=(ListNode*)malloc(sizeof(ListNode));
for(i=1;i<m;i++)
{
p=(ListNode*)malloc(sizeof(ListNode));
q->num=i;
q->next=p;
q=p;
}
p->num=m;
p->next=R;
R=p;
return R;
}
/*=============================选大王=====================================*/
Linklist XDW(int m,int n,Linklist R)
{
int i,j;
ListNode *p,*q;
p=R;
for(i=1;i<=m-1;i++)
{
for(j=1;j<=n-1;j++)
p=p->next;
q=p->next;
p->next=q->next;
free(q);
}
printf("最终结果大王是第%d号猴子\n",p->num);
printf("============================================\n");
R=p;
return R;
}

林当时
- 粉丝: 124
最新资源
- 正则表达式匹配IP地址与域名
- SanDisk SSD Dashboard 闪迪固态硬盘软件 v2.3.2.4 中文免费安装版
- 三星SL-M267x-287x黑白多功能一体机扫描驱动程序v3.31.19:20版本
- 【商业智能领域】 Wyn商业智能AI智能分析白皮书:融合AI语言模型的BI解决方案及应用价值分析
- AJ-Captcha-PHP资源
- lunar-javascript-JavaScript资源
- streamsql-SQL资源
- 直接执行JavaScript文件与JAR包的方法
- 【低代码开发】企业低代码转型路线图:从立项调研到实践推广的全流程管理与技术评估
- CH376 调试51单片机源码.ZIP
- 毕业设计-毕业设计资源
- stm32diansai-电赛资源
- WebTopo:基于Vue的Web组态拓扑图与拓扑编辑器
- AP3G3-K9W8-TAR.153-3.JPJ4版本压缩文件
- 石子入水波纹效果:UV扰动着色器实现
- 基于python的处理Excel数据原表保存源码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



评论0