本科课程设计报告。
课程设计报告题目。
猴子选大王。
拓扑排序。学生成绩管理系统。
纸牌游戏。姓名:张瀚中。
学号:51002011010
年级:2010级。
专业:计算机科学与技术。
班级:本科一班。
指导教师: 朱鸿浩。
蚌埠学院。时间 2013/1/7
前言。数据结构课程是计算机科学与技术专业的核心课程,是一门实践性较强的课程。计算机学科各领域及应用都用到各种数据结构,特别是随着计算机应用领域的扩大和非数值计算的增加,数据大量增加,它们之间的结构关系也日益复杂,无论是操作系统、数据库系统、电子商务系统、编译系统及信息系统等的设计和实现,还是其它各种应用软件都涉及不同的数据结构。
课程设计是学生对课程所学知识的综合运用,它与课堂听讲、课外练习、自学研究、上机实验、项目设计相辅相成,构成一个完整的课程教学体系。数据结构对算法设计和程序编写的掌握尤其重要。学生虽然可以通过与课堂教学同步的上机实验完成相关内容的练习,但却往往局限于一些功能简单、彼此之间关系独立的算法和程序。
课程设计是一种综合训练,致力于培养学生全面、灵活的算法设计思想和较高的编程能力,要求学生编写的程序结构清楚和正确易读,符合软件工程的规范,能够为今后从事计算机开发与应用打下基础。需要学生具有丰富科学知识、独立分析问题、解决实际问题、有创造能力,这也是该课程设计的最终目的。
课程设计需要完成以下要求:
1、了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;
2、初步掌握软件开发过程的问题分析、概要设计、详细设计、调试分析等基本方法和技能;
3、提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
4、训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
问题定义:一堆猴子都有编号,编号是1,2,3…n,这群猴子(n个)按照1-n的顺序围坐一圈,从第1个开始数,每数到第m个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。m,n键盘输入,且m问题分析:
根据任务描述可知,编号是1,2,3…n的一群猴子按照1-n的顺序围坐一圈,因此可以用指针指向数组的方法给数组赋值,输入n值和m值,为保证m第一步建立数组,填入猴子编号及猴子出局时报的数。
第二步从第一个猴子报数。
第三步数到m让指针指向元素变为0
第四步继续报数,重复第三步。
开始。calloc( )分配内存。
for循环。
指针移动查找。
count=n-1
if(ptr2==ptr+n)
ptr2=ptr; 保证猴子围成圈。n i
ynyn
y break
#include<>
#include<> 使用calloc()函数。
void findking_pointer(int,int,int*);移动指针法找大王。
void initialize(int,int*);初始化数组整形和指针型
int main()
int m,n,*ptr;
printf("输入猴子数与出局时报的数");
scanf("%d %d",&n,&m);
while(n{
printf("输入数据有误,请重新输入!");
printf("输入猴子数与出局时报的数");
scanf("%d %d",&n,&m);
ptr=(int *)calloc(n,sizeof(int));
initialize(n,ptr);
findking_pointer(m,n,ptr);
free(ptr);
return 0
在数组中依次填入1,2,3,4,…
void initialize(int n,int *ptr)
int i;
for(i=0;iptr[i]=i+1;
循环一次指针向后移一位,所指元素不为0时计数器加1.
移动指针,当计数器数到m时将指针所指元素设为0.
void findking_pointer(int m,int n,int *ptr)
int i,count,*ptr2;
count=n-1; /count=0时终止循环就是只剩一个猴子时
ptr2=ptr; /移动ptr2进行查找开始时ptr为多少
/calloc()为指针类型的元素分配内存时,元素被初始化为空指针。
for(i=0;count!=0;ptr2++)
if(ptr2==ptr+n)
ptr2=ptr;
*指针所指元素不为0时计数器加1.*/
if(*ptr2!=0)
i++;*计数器数到m时将指针所指元素设为0*/
if(i==m)
ptr2=i=0;
count--;用于终止循环。
*最后不为0的元素的值即为大王的编号*/
for(ptr2=ptr;;ptr2++)
if(*ptr2!=0)
printf("第%d个猴子是大王",*ptr2);
break;
数据结构课程设计
课程设计说明书 题目哈夫曼编码问题的设计和实现。课程名称数据结构课程设计。院 系 部 中心。专业。班级。学生姓名。学号。设计地点。指导教师。设计起止时间 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 初始化时每个方格都是关闭的,一个...