版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、北京化工大学北方学院课程设计报告课程名称 数据结构课程设计 设计题目 猴子选大王 专业、班级 学 号 姓 名 指导教师 设计时间 年 月 日一、 引言(简要说明设计题目的目的、意义、内容、主要任务等)1 设计目的1)培养学生运用算法与数据结构的基本知识解决实际编程中的数据结构设计和算法设计问题。2)训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题3)提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4)训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的工作作风。
2、2 内容本次课程设计完成模块:猴子选大王3 主要任务一堆猴子都有编号,编号是1,2,3 .m ,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。二、 正文(课程设计的主要内容,包括实验与观测方法和结果、仪器设备、计算方法、编程原理、数据处理、设计说明与依据、加工整理和图表、形成的论点和导出的结论等。正文内容必须实事求是、客观真切、准确完备、合乎逻辑、层次分明、语言流畅、结构严谨,符合各学科、专业的有关要求。)1应用程序功能程序运行结果如下:2. 输入数据类型、格式和内容限制输入数据为整型,切勿输
3、入整形以外数据类型,否则程序将报错。3. 主要算法模块描述流程图:4. 源程序代码#include iostream#include stdlib.husing namespace std;typedef struct nodeint data;struct node *next;/定义结点指针listnode;typedef listnode *linklist;/自定义链表类型listnode *q,*p;linklist head=(linklist)malloc(sizeof(listnode);/申请头结点/*按将猴子数量编号并存入链表*/linklist create(int n)
4、int i;p=head;p-next=null;for(i=1;idata=i;p-next=q;p=q;p-next=null;return head;/返回链表头指针/*打印链表*/void printlist(linklist head)p=head-next;while(p)/打印链表直至链表结尾coutdatanext;/*删除被选到的猴子*/void delete(listnode *b,listnode *pb)/*pb为删除结点的前驱*/pb-next=b-next;free(b);/*猴子选大王(数n个)*/int king(linklist head,int n,int
5、i)int j,k;listnode *pp,*t; /*删除节点前驱*/p=head;if(i=1)return i;while(i!=1)for(j=0;jnext;if(!p)p=head-next;if(!p-next)t=head;/当删除的结点为最后一个结点时,t指向头结点elset=pp;delete(p,pp);p=t;i-;k=pp-data;/将最后一只猴子的编号赋值给kreturn k;/返回最后一只猴子编号void main()int i,c,k,flag=0;cout请输入猴子数量i;cout-将猴子顺序编号-endl;printlist(create(i);/调用将
6、猴子顺序编号的函数coutendl-编号结束-endl;while(!flag)cout第几个猴子离开?c;if(ci)cout输入数量大于猴子数量,请重新输入endl;if(ci|c=i) flag=1;k=king(head,c,i);/调用猴子先大王函数cout大王编号为 kendl;三 结论(应当准确、完整、明确精练;也可以在结论或讨论中提出建议、设想、尚待解决问题等。)本次课程设计在整整一周的时间内得以完成,全部内容主要包括:目录,课题设计背景,详细设计,设计结果及分析等方面的内容,主要通过上网收集资料,查找参考书目,了解图书管理的设计背景,明确设计方向和内容,在此基础上形成了该课程
7、设计的的基础框架。再进行源代码的创作以及整合,并及时上级进行调试,保证代码的有效性。具体内容在程序设计各章节均有体现。在本次课程设计中,我收获了许多。首先,在课程设计中通过对相关资料的搜索,设计猴子选大王实际上是一个约瑟夫环问题,设计这个程序比较简单,更重要的是在看到现象的同时我看到了它的本质,程序设计确实是一门神奇的工具,它可以通过普普通通的程序代码实现很多法在的流程,在减少人力劳动的同时,展现着科学的魅力。这样是我更加清楚地认识到自身存在的差距,所学的那点知识是远远不够的,学无止境才是真道理。其次,课程设计的主要内容和目的是解决实际问题,同时运用所学的知识。这是我认识到了将知识活学活用的重
8、要性。以往的我们只是简简单单的将书本上的知识以模板的形式刻入脑袋中,而在面对实际问题时却往往不知所措,这是理论泛滥带来的直接后果。这次的实践,让我将上学期所学的c语言和本学期所学的数据结构在实际的操作运用中进一步巩固,对于那些没有学透的知识,如,函数调用,结构体等,在不停摸索,商讨的过程中最终将它们一一解决,同时也新增了许多没有学到过的内容。最后,对于我来说,独立完成这项课程设计是十分困难的,在学习和复习知识的过程中,难免要请教同学老师,他们的热心,让我感受到了团队的力量和团队的温暖,使我能顺利的完成任务。课程设计的结束并不代表着学习的结束。这次的设计,把我带入到了一个全新的不曾接触过的领域,
9、让我在以往只是注重操作的基础上,更多的思考到了,这是如何实现的,运用我所学到的知识是不是可以同样做出这样的网站,实现不一样的操作,达到同样的效果?我似乎有所领悟了,学习的本质不是让你牢牢的掌握一个知识,而是让你掌握一种方法,一种思想。同时,我知识的局限是毋庸置疑的,在纵多高级语言中,如,c+,java ,c#,c语言编程是我目前唯一能做到的,并且还做得很不完善,所以在以后的学习中一定要抓紧现在的大好时光扩充自己的知识储备,掌握更多的方法,为将来实现更多领域功能所用!同时本次课程设计让我学习知识的同时,也锻炼了自己面对新问题时的抗压能力,直面困难,不抛弃不放弃,坚持到底!在以后的学习和生活中,我
10、将发扬这些优点,劈荆斩浪,挑战自我,一步一步往前走。由于时间有限,本人水平有限,报告中可能存在诸多不完善之处,还望见谅。四、 参考文献1.谭浩强著,c程序设计(第三版),北京:清华大学出版社。2. gary j.bronson著,刘勇译,c+程序开发与设计(第二版)北京:人民邮电出版社3.朱站立编著,数据结构使用c语言(第4版)北京:电子工业出版社4.谭浩强,张基温,唐永炎编著,c语言程序设计教程,北京:高等教育出版社19925.谭浩强编著,c程序设计题解与上机指导(第二版),北京:清华大学出版社,19926.谭浩强编著,qbasic语言教程,北京:电子工业出版社,19977.谭浩强编著,田数清编著,pascal语言程序设计(第二版),北京:高等教育
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年四川中医药高等专科学校高职单招职业适应性测试历年参考题库含答案解析
- 二零二五年度房地产项目安全质量承包合同模板3篇
- 二零二五年度西瓜新品种研发与推广合同3篇
- 二零二五年度返聘人员劳动合同解除与续签合同模板2篇
- 学校三方协议书(2篇)
- 大理石板材采购合同(2篇)
- 二零二五年水利工程款委托第三方支付与监管协议书3篇
- 二零二五版XX农业科技园租赁合同模板3篇
- 二零二五年钢筋材料采购与配送劳动合同3篇
- 二零二五年爬架租赁及施工指导合同3篇
- 叉车租赁合同模板
- 河道旅游开发合同
- 住房公积金稽核审计工作方案例文(4篇)
- 口腔门诊医疗风险规避
- 情人合同范例
- 建筑公司劳务合作协议书范本
- 安徽省合肥市2023-2024学年高一上学期物理期末试卷(含答案)
- Unit 2 My Schoolbag ALets talk(说课稿)-2024-2025学年人教PEP版英语四年级上册
- 2024年国家公务员考试《行测》真题(行政执法)
- 儒家思想讲解课程设计
- 烟花爆竹安全生产管理人员考试题库附答案(新)
评论
0/150
提交评论