网站大量收购独家精品文档,联系QQ:2885784924

猴子选大王课程设计重点.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LULIANG UNIVERSITY 数据结构课程设计 题 目: 猴子选大王 系 别: 计算机科学与技术系 专业年级: 软件工程1502班 姓 名: 程越祎 学 号: 20151106201 指导教师: 乔 栋 2016年11月25日 目 录 一、设计任务与要求 1 1.1 总体目标与任务要求 1 1.2 题目选择与目的意义 1 1.3 所选题目的主要工作 1 二、需求分析 2 2.1 用户需求分析 1 2.2 功能需求分析 2 三、概要设计 2 四、详细设计(源代码) 3 五、调试分析 9 六、运行结果分析 10 七、收获与体会 12 八、主要参考资料 13 一、设计任务与要求 1.1 总体目标与任务要求 一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。输入数据:输入m,n m,n 为整数,nm 输出形式:中文提示按照m个猴子,数n 个数的方法,输出为大王的猴子是几号 ,建立一个函数来实现此功能 一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。 第二步 从第一个猴子报数 第三步 数到m让指针指向元素变为0? 第四步? 继续报数,重复第三步 三、概要设计 四、详细设计(源代码) #includestdio.h #includemalloc.h int m,n; typedef int DataType; typedef struct LNode { DataType data; struct LNode *next; } monkey;//定义结点 void Link_solve() { int i; int a=m; int count=1;//统计次数 monkey *head,*p,*q,*s; head=q=p=(monkey *)malloc(sizeof(monkey)); printf(\n**** 对猴子进行编号:****\n); for(i=1;im;i++)//为猴子形成链表 { q=(monkey *)malloc(sizeof(monkey)); q-data=i; p-next=q;//使链表循环起来 p=q; printf(第%d位猴子的编号是:%d\n,i,i); } printf(第%d位猴子的编号是:%d\n,i,i); q-next=head; head-data=m; p=head; q=p-next; printf(\n); if(m==1) printf(\n按照1个猴子,猴子大王的编号是:1\n); else if(m!=1) { if(n==1) { for(i=1;im;i++) printf(第%d次,要删除的猴子号为:%d\n,i,i); printf(\n按照%d个猴子,数1个数\n猴子大王的编号是:%d \n,m,m); } else { for(i=1;in;i++) { p=p-next; q=q-next; if(i==n-1) { printf(第%d次,要删除的猴子号为:%d\n,count++,q-data); s=q; q=q-next;//q即为

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档