《数据结构》课程设计报告-运动会分数统计 一元多项式 迷宫求解 文章编辑 纸牌游戏等

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据结构》课程设计报告-运动会分数统计一元多项式迷宫求解文章编辑纸牌游戏等

南京林业大学

数据结构课程设计报告

专业:计算机科学与技术

课程名称:数据结构

姓名:

学号:090801126

指导老师:

时间: 2011年1月

目录要点:

一.具体内容(题目) (1)

二.需求分析(功能要求) (2)

三.概要设计(程序设计思想) (3)

四.详细设计(源代码) (6)

五.调试分析(运行结果显示及说明) (31)

六.课设总结 (34)

题目1: 运动会分数统计**

任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7,5,3,2,1,取前三名的积分分别为:5,3,2,;哪些取前五名或前三名由学生自己设定。(m〈=20,n〈=20);

题目2:一元多项式**

任务:能够按照指数降序排列建立并输出多项式;

能够完成两个多项式的相加,相减,并将结果输入;

题目4:迷宫求解

任务:可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出;

题目5:文章编辑**

功能:输入一页文字,程序可以统计出文字、数字、空格的个数。

静态存储一页文章,每行最多不超过80个字符,共N行;

题目6:Joseph环

任务:编号是1,2,……,n的n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个仍开始顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1报数,如此下去,直到所有的人出列为止。设计一个程序来求出出列的顺序。

2

题目7:猴子选大王**

任务:一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。

题目8:建立二叉树,层序、先序遍历(用递归或非递归的方法都可以) **

任务:要求能够输入树的各个结点,并能够输出用不同方法遍历的遍历序列;

题目9:纸牌游戏**

任务:编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后…从第4张开始,以4为基数,是4的倍数的牌翻一次,直到最后一张牌;...再依次5的倍数的牌翻一次,6的,7的直到以52为基数的翻过,输出:这时正面向上的牌有哪些?

运动会分数统计

1)可以输入前三名或前五名的成绩;

2)能统计各学校总分;

3)可以按学校编号,学校总分,男女团体总分排序输出;

4) 可以按学校编号查询学校某个项目的情况;可以按项目编号查询查询取得前三名或前五名的学校。

规定:输入数据形式和范围:20以内的整数

输出形式:有中文提示,各学校分数为整形

界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求;

一元多项式计算

能够完成两个多项式的相加,相减,并将结果输入;

迷宫求解

要求:在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;

文章编辑

(1)分别统计出其中英文字母数和空格数及整篇文章总字数;

(2)统计某一字符串在文章中出现的次数并输出该次数,用函数letter_num(),figure_num(),space_num(),total_num()来实现。

(3)删除某一子串,并将后面的字符前移,用delstr()来实现。

存储结构使用线性表,分别用几个子函数实现相应的功能;

2

输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。

输出形式:(1)分行输出用户输入的各行字符;

(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"

(3)输出删除某一字符串后的文章;

Joseph环

利用单向循环链表存储结构模拟此过程,按照出列的顺序输出各个人的编号。

输入数据:建立输入处理数据,输入m的初值,n,输入每个人的密码,建立单循环链表。

输出是什么:建立一个输出函数,将正确的输出序列;

猴子选大王

输入数据:输入m,n m,n 为整数,n

输出形式:中文提示按照m个猴子,数n 个数的方法,输出为大王的猴子是几号,建立一个函数来实现此功能;首先用一个数组来存放猴子的编号,从1到m,然后用hzxdw()按题目要求,用两个双重循环来实现猴子大王的选举.

建立二叉树

typedef struct node 是定义二叉树的存储结构

creat(bitree *bt)是用来建立二叉树的输入的

levelorder(bitnode *bt,int m)是用来建立层序遍历序列的

preorder(bitree bt)是用来实现非递归先序遍历的

main是主函数

纸牌游戏

直接用函数main()按照题目要求的规则,只使用数组和用几个循环来实现.

运动会分数统计:

先分配存储的空间;输入运动项目个数、参加的学校的个数、男子比赛项目的个数、女子比赛项目的个数;循环每个项目的输入;自行选择取前三名还是前五名,循环输入姓名、成绩、学校;通过调用子函数进行计算;输出结果。

一元多项式计算:

通过typedef struct polynode来定义单链表存储多项式的结点结构。

利用尾插法建立一元多项式的链表,先建立多项式的头结点,当表不为空的时候,申请新的结点,

2

相关文档
最新文档