哈尔滨师范大学计算机科学与信息工程学院。
数据结构课程设计报告。
题目学号姓名指导教师学期年级专业学院。
猴子选大王2023年12月。
目录。一.需求分析3
二.概要设计3
三.详细设计4
四.运行结果及分析6
五.课程设计总结7
六.参考文献8
七.源**9
一.需求分析。
1.问题描述。
一堆猴子都有编号,编号是1,2,3,. m,这群猴子(m个)按照1-m的顺序围坐一圈,从第一开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下一只猴子,则该猴子为大王。
2.基本要求。
输入数据:输入m,n。m,n为整数,n输出形式:中文提示按照m个猴子,数n个数的方法,输出为大王的猴子是几号,建立一个函数来实现此功能。
二.概要设计。
1.概要分析。
一群猴子(m个)按照编号的顺序围坐一圈,从第1开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。
2.程序规定:
1)在程序中输入猴子数m、要报的数n(2),对猴子进行编号。
3)利用循环链表,依次序删除猴子,找出最后一个猴子,即为大王,输出这只猴子的编号。
三.详细设计。
1.对每一个猴子进行编号。
r=q=(listnode *)malloc(sizeof(listnode));for(i=1;ip=(listnode*)malloc(sizeof(listnode));q->data=i;q->next=p;q=p;}
p->data=n;p->next=r;r=p;
2.每数到n便删除该猴子,当循环单链表只剩一个时,输出该编号for(i=1;i<=n-1;i++)
printf("");r=p;return r;}
void outring(int n,linklist r)
四.运行结果及分析。
输入猴子的数目m,如图4.1
图4.1运行结果1
输入n,直接得出猴子大王,如下图4.2
图4.2运行结果2
可见得到了预期。
五.课程设计总结。
此次课程设计在整整两周的时间内得以完成,全部内容主要包括:目录,课题设计背景,详细设计,设计结果及分析等方面的内容,主要通过上网收集资料,查找参考书目,了解图书管理的设计背景,明确设计方向和内容,在此基础上形成了该课程设计的的基础框架。再进行源**的创作以及整合,并及时上级进行调试,保证**的有效性。
具体内容在程序设计各章节均有体现。
在本次课程设计中,我收获了许多。
首先,在课程设计中通过对相关资料的搜索,设计猴子选大王实际上是一个约瑟夫环问题,设计这个程序比较简单,更重要的是在看到现象的同时我看到了它的本质,程序设计确实是一门神奇的工具,它可以通过普普通通的程序**实现很多法在的流程,在减少人力劳动的同时,展现着科学的魅力。这样是我更加清楚地认识到自身存在的差距,所学的那点知识是远远不够的,学无止境才是真道理。
其次,课程设计的主要内容和目的是解决实际问题,同时运用所学的知识。这是我认识到了将知识活学活用的重要性。以往的我们只是简简单单的将书本上的知识以模板的形式刻入脑袋中,而在面对实际问题时却往往不知所措,这是理论泛滥带来的直接后果。
这次的实践,让我将上学期所学的c语言和本学期所学的数据结构在实际的操作运用中进一步巩固,对于那些没有学透的知识,如,函数调用,结构体等,在不停摸索,商讨的过程中最终将它们一一解决,同时也新增了许多没有学到过的内容。
最后,对于我来说,独立完成这项课程设计是十分困难的,在学习和复习知识的过程中,难免要请教同学老师,他们的热心,让我感受到了团队的力量和团队的温暖,使我能顺利的完成任务。
课程设计的结束并不代表着学习的结束。这次的设计,把我带入到了一个全新的不曾接触过的领域,让我在以往只是注重操作的基础上,更多的思考到了,这是如何实现的,运用我所学到的知识是不是可以同样做出这样的**,实现不一样的操作,达到同样的效果?我似乎有所领悟了,学习的本质不是让你牢牢的掌握一个知识,而是让你掌握一种方法,一种思想。
同时,我知识的局限是毋庸置疑的,在纵多高级语言中,如,c++,j**a,c#,c语言编程是我目前唯一。
能做到的,并且还做得很不完善,所以在以后的学习中一定要抓紧现在的大好时光扩充自己的知识储备,掌握更多的方法,为将来实现更多领域功能所用!同时本次课程设计让我学习知识的同时,也锻炼了自己面对新问题时的抗压能力,直面困难,不抛弃不放弃,坚持到底!在以后的学习和生活中,我将发扬这些优点,劈荆斩浪,挑战自我,一步一步往前走。
由于时间有限,本人水平有限,报告中可能存在诸多不完善之处,还望见谅。
六.参考文献。
1.谭浩强著,c程序设计(第三版),北京:清华大学出版社。
著,刘勇译,c++程序开发与设计(第二版)北京:人民邮电出版社。
3.朱站立编著,数据结构——使用c语言(第4版)北京:电子工业出版社4.谭浩强,张基温,唐永炎编著,c语言程序设计教程,北京:高等教育出版社1992
5.谭浩强编著,c程序设计题解与上机指导(第二版),北京:清华大学出版社,1992
6.谭浩强编著,qbasic语言教程,北京:电子工业出版社,19977.谭浩强编著,田数清编著,pascal语言程序设计(第二版),北京:高等教育出版社,1998
程序编写组,常用c语言用法速查手册,北京:龙门书局,1995
m peitel,p j how to progrom,second edition.蒋才鹏等译,c程序设计教程,北京:机械工业出版社,2000
七.源**。
#include <>#include <>typedef struct nodelistnode;
typedef listnode *linklist;
linklist initring(int n,linklist r)
p->data=n;p->next=r;r=p;return r;}
linklist deletedeath(int n,int k,linklist r)
printf("");r=p;return r;}
void outring(int n,linklist r)int main()-13 -
数据结构课程设计
课程设计说明书 题目哈夫曼编码问题的设计和实现。课程名称数据结构课程设计。院 系 部 中心。专业。班级。学生姓名。学号。设计地点。指导教师。设计起止时间 2008 年6月 2日至 2008 年 6月 6 日。目录。1 问题描述 2 1.1 题目内容 2 1.2 基本要求 2 1.3 测试数据 2 2...
数据结构课程设计
数据结构 课程设计。实验报告。学院 信息工程学院。班级 姓名 学号 指导老师 题目2 一元多项式的计算。1 实验目的。1 掌握链表的灵活运用 2 学习链表初始化和建立一个新的链表 3 知道怎样去实现链表删除结点操作与插入结点 4 理解链表的基本操作 包括数据域数据的相加 并能灵活运用。2 实验内容。...
数据结构课程设计
班级 信计 1102 姓名 李娜娜。学号 1108060209 设计日期 2013.07.15 西安科技大学计算机学院 1.实验题目 编制一个演绎扫雷游戏的程序。2.问题描述。做一个n x m的扫雷游戏,每个方格包含两种状态 关闭 closed 和打开 opened 初始化时每个方格都是关闭的,一个...