数据结构课程设计

发布 2022-10-01 20:46:28 阅读 2262

本科课程设计报告。

课程设计报告题目。

猴子选大王。

拓扑排序。学生成绩管理系统。

纸牌游戏。姓名:张瀚中。

学号: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 初始化时每个方格都是关闭的,一个...