博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过“选出猴王”对struct产生一点疑问,请各位大虾讲解一下。
阅读量:6334 次
发布时间:2019-06-22

本文共 1061 字,大约阅读时间需要 3 分钟。

hot3.png

最近在恶补c语言,昨天在做一个“选出猴王”的小练习题,应该也有人遇到过这个题,大概就是好多猴子围成一圈,编成号,从1-N,然后从1号开始报数,顺时针猴子依次报数加1,如果有猴子报的数字是M则出列,下只猴子继续从1号开始报数,依次循环,最后一个出列的就是猴王,本来这道题感觉也不怎么难,想着用一个循环链表就可以搞定,但是在用到结构体的时候就出现问题了,请各位大虾们给小弟指点迷津一下。

代码如下:

#include
#include
typedef struct List{ int data; struct List *next;}*monkey;int main(void){ struct List *start,*Monkey,*end; int count = 1,NumofMonkey,stride,i; printf("请输入猴子的总数:"); scanf("%d",&NumofMonkey); printf("请输入出局的数字:"); scanf("%d",&stride); start = NULL; for(i=0;i
data = i+1; if(start == NULL){ start = end = Monkey; start->next= start; } else{ Monkey->next = end->next ; end->next = Monkey; end = Monkey; } } while(start != NULL){ if(start->next == start){ printf("%4d\n",start->data); free(start); start->next = NULL; break; } if(count == stride-1){ Monkey = start->next; start->next = Monkey->next; printf("%4d",Monkey->data); free(Monkey); Monkey->next = NULL; count = 0; } count++; start = start->next ; } return 0;}
 

转载于:https://my.oschina.net/u/266587/blog/88078

你可能感兴趣的文章
C. Day at the Beach
查看>>
技术学习网站
查看>>
js继承的方式
查看>>
【Splay】bzoj3224 Tyvj 1728 普通平衡树
查看>>
【dijkstra】【次短路】【fread】hdu6181 Two Paths
查看>>
python3支持excel读写
查看>>
工具:SVN的Web客户端(ViewVC、SVNWebClient、sventon)和任务管理(Trac、Collaboa)
查看>>
ubuntu关闭自动更新、打开 ubuntu 的 apport 崩溃检测报告功能
查看>>
vmlinux,zImage,bzImage,vmlinuz,uImage,关系
查看>>
会议管理拖动效果的页面制作1
查看>>
linux grep、find 命令详解
查看>>
Vuex详解笔记2
查看>>
研究音频编解码要看什么书
查看>>
借助开源项目,又好又快的实现视频文件”剧情连拍(剧情截图)”功能
查看>>
项目经理成长日记(5)——五指有长短,能力各不同
查看>>
JVM的基本结构
查看>>
kvm(四)客户机vm的存储格式
查看>>
Windows10 之移除Cortana、 Microsoft Edge、联系支持人员和Windows 反馈等应用
查看>>
nagios使用gmail发送邮件 取mysql数据库的字段并邮件通知
查看>>
利用Content-Disposition控制浏览器下载或直接打开
查看>>