猴子选大王上机报告.docVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
猴子选大王上机报告

重庆交通大学信息科学与工程学院 综合性设计性实验报告 专 业: 课 程 名 称:《C语言程序设计》 题 目:数组和链表的操作 班 级: 设 计 者: 学号: 指 导 教 师: 完 成 时 间:2014年6月16日 重庆交通大学信息科学与工程学院综合性设计性实验任务书 课 程 C语言程序设计 班级 指导教师 题 目 数组和链表的操作 同组人数 1人 设计要求 分别用数组和链表设计一个程序完成如下功能: [猴子选大王]一群猴子共有m只,编号为1,2,……m,围坐一圈,从第1号猴子开始依次报数,数到n的猴子退出,然后从退出的下一只猴子继续从1开始报数,依次循环,直到圈内剩下一只猴子为止,该编号的猴子就是所选出的大王。 要求:1、用数组完成所要求的功能,输入m和n的值,输出大王的编号; 2、用链表完成所要求的功能,输入m和n的值,输出大王的编号。 报告书要求 设计报告主要包括内容(参见后面的格式): 1.系统的功能需求及分析 2.设计说明(分别要说明用数组和用链表完成该功能的算法,算法流程图以及相应的说明) 3.系统实现及主要代码(相应的算法应设计成函数) 4.系统功能测试 5.设计体会 要求: 学生完成课程设计后,每个同学均应提交设计报告及软件; 设计报告要求文字通畅,排版规范; 设计报告文字原则上不少于1000字(程序代码除外),并装订成册。 版面要求 1.题目用黑体三号,段后距18磅(或1行),居中对齐; 2.标题用黑体四号,段前、段后距6磅(或0.3行); 3.正文用小四号宋体,行距为固定值“20”,程序代码用固定值“15”; 4.标题按“一”、“㈠”、“1”、“⑴”顺序编号。 重庆交通大学信息学院综合性设计性实验评分表 序号 项目 评分标准及说明 评分 1 学生自评分(30%) 按任务书的要求,学生根据自己任务完成情况、系统质量及报告质量自我评分。 理由:我认为此次设计性实验还是完成得比较好的,但是有些细节还需要改进。 25 2 项目设计报告(60%) 根据学生完成的项目设计报告书情况,由教师给定等级(直接在此评分表中打“√”)及成绩(特别提醒:设计报告相同者均记0分) 等级 分值 A+ 30 A 28-29 A- 27 B+ 25-26 B 23-24 B- 21-22 C+ 20 C 19 C- 18 D 0-17 3 教师对学生自己评分的评价(10%) 指导教师: 总分: 数组和链表的操作——猴子选大王程序 设计报告 一、系统的功能需求及分析 功能: 一群猴子共有m只,编号为1,2,……m,围坐一圈,从第1号猴子开始依次报数,数到n的猴子退出,然后从退出的下一只猴子继续从1开始报数,依次循环,直到圈内剩下一只猴子为止,该编号的猴子就是所选出的大王。 分析: 用数组实现: 先对数组进行初始化,然后将报到要删除的那个数字的猴子编号赋值为-1,每赋值一次,猴子数减一,再重新报数。当猴子数只有一只的时候,输出猴子编号不为-1的那个编号。 用链表实现: 先建立一个无头节点的单向循环的链表,然后将报到要删除的那个数字的猴子编号删除,以此循环,直到一个节点的下一个指向自己,最后输出猴子编号。 二、设计说明 (一) 用数组实现 1、数组的初始化 for(i=0;im;i++) a[i]=i+1; 2、算法流程图及说明 N Y Y Y Y (二) 用链表实现 1、节点的定义 struct monkey { int a; struct monkey *next; }*p,*q,*p1,*q1,*p2; 2、链表的建立 for (int i=0;im;i++) { p=(struct monkey *)malloc(sizeof(struct monkey)); p-a=i+1; p-next=NULL; if (i==0) { head=p; q=head; } else { q-next=p; q=q-next; } } q-next=head; p2=head; p1=head; 3、算法流程图及说明 Y Y 三、主要代码 (一) 用数组实现 #includestdio.h void main() { int a[10

文档评论(0)

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

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

1亿VIP精品文档

相关文档