《数据结构课程设计》题目与要求。
要求:每位同学选两个题目,其中:猴子选大王、纸牌游戏、通讯录管理系统、学生成绩管理系统、简单的员工管理系统限选一题。
1.1】运动会分数统计。
问题描述 ]
参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。
不同的项目取前五名或前三名积分;取前五名的积分分别为,前三名的积分分别为;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)
基本要求 ]
1)可以输入各个项目的前三名或前五名的成绩;
2)能统计各学校总分;
3)可以按学校编号、学校总分、男女团体总分排序输出;
4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校;
5)各学校分数为整型,学校名称、运动项目的名称为字符型;
6)界面友好,有中文提示。
1.2】一元稀疏多项式计算器。
[ 问题描述 ]
设计一个一元稀疏多项式简单计算器。
基本要求 ]
一元稀疏多项式简单计算器的基本功能是:
(1) 输入并建立多项式;
(2) 输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,..cn,en,其中n是多项式的项数,ci,ei分别是多项式的指数,序列按指数降序排列;
(3) 多项式a和b相加,建立多项式a+b;
(4) 多项式a和b相减,建立多项式a-b。
实现提示]
用带表头结点的单链表存储多项式。
1.3】猴子选大王。
问题描述 ]
一堆猴子都有编号,编号是1,2,3 ..m ,这群猴子(m个)按照1~ m的顺序围坐一圈,从第1开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。
基本要求 ]
1)输入数据:输入m、n ,m、n 为整数,且n(2)输出形式:中文提示按照m个猴子,数n 个数的方法,输出为大王的猴子是几号。
2.1】停车场管理。
问题描述]设停车场是一个可停放n辆车的狭长通道,且只有一个大门可供汽车进出。在停车场内,汽车按到达的先后次序,由北向南依次排列(假设大门在最南端)。若车场内已停满n辆车,则后来的汽车需在门外的便道上等候,当有车开走时,便道上的第一辆车即可开入。
当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门后,其它车辆再按原次序返回车场。每辆车离开停车场时,应按其停留时间的长短交费(在便道上停留的时间不收费)。
基本要求]1) 要求以顺序栈模拟停车场,以链队列模拟便道。
2) 从终端读入汽车到达或离去的数据,每组数据包括三项:
是“到达”还是“离去”;
汽车牌照号码;
“到达”或“离去”的时刻。
与每组输入信息相应的输出信息为:如果是到达的车辆,则输出其在停车场中或便道上的位置;如果是离去的车辆,则输出其在停车场中停留的时间和应交的费用。
2.2】车厢调度。
问题描述]
假设在铁路调度站(如教科书图3.1(b)所示)入口处的车厢序列的编号依次为1,2,3,..n。设计一个程序,求出所有可能由此输出的长度为n的车厢序列。
基本要求]
首先在教科书上提供的栈的顺序存储结构seqstack之上实现栈的基本操作,即实现栈类型。程序对栈的任何存取(即更改,读取和状态判别等操作)必须借助于基本操作进行。
实现提示]
一般的说,在操作过程的任何状态下都有两种可能的操作:"入"和"出"。每个状态下处理问题的方法都是相同的,这说明问题本身具有天然的递归特性,可以考虑用递归算法实现,输入序列可以仅由一对整形变量表示,即给出序列头/尾编号。
输出序列用栈实现是方便的(思考:为什么不应该用队列实现)只要再定义一个栈,打印操作print(s),自底至顶顺序的印出栈元素的值。
2.3】表达式求值。
问题描述]一个算术表达式是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。假设操作数是正整数,运算符只含加减乘除等四种运算符,界限符有左右括号和表达式起始、结束符“#”,如:##。
引入表达式起始、结束符是为了方便。编程利用“算符优先法”求算术表达式的值。
基本要求]1) 从键盘读入一个合法的算术表达式,输出正确的结果。
2) 显示输入序列和栈的变化过程。
选作内容]1) 扩充运算符集合。
2) 引入变量操作数。
3) 操作数类型扩充到实数。
2.4】航空订票系统。
问题描述]
航空客运订票大的业务活动包括:查询航线,客票预订额办理退票等。试设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。
基本要求]
(1):每条航线所设计的信息有:终点站名,航班号,飞机号,飞行周日(星期几),乘员定额,余票量,已订票的客户名单(包括姓名,订票量,舱位等级1,2或3)以及等候替补的客户名单(包括姓名,所需票量);
(2):作为示意系统,全部数据可以只存放在内存中;
(3):系统能实现的操作功能如下:
1),查询航线:根据旅客提出的终点站名输出下列信息:航班号,飞机号,星期几飞行,最近一天航班的日期和余票额;
2) 承办订票业务:根据客户提出的要求(航班号,订票数额)查询该航班票额情况,若尚余票则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新询问客户要求。若需要可登记排队候补;
3) 承办退票业务: 根据客户提供的情况(日期,航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若退票额能满足他的要求,则为他办理订票手续,否则依次询问其它排队候补的客户。
3.1】 文本格式化。
问题描述]
输入文件中含有待格式化(或成为待排版)的文本,它由多行文字组成,例如一篇英文文章。每一行由一系列被一个或多个空格符所隔开的字(字是一行中不含空格符的最长(即任意一端都不能再扩展一个非空格符的进来的)子串,例如"good!"算是一个字。
)所组成,任何完整的字都没被分隔在两行(每行最后一个=字与下一行第一个字在逻辑上应该由空格分开),每行字符数不超过80。除了上述文本类字符外,还存在起控制作用的字符:符号"@"指示它后面的正文在格式化时应另起一段排放,即空一行,并在段首缩入8个字符位置。
"@自成一个字。
一个文本格式化程序可以处理上述输入文件,按照用户指定的版面规格重排版面:实现页内调整,分段,分页等文本处理功能,排版结果存入输出文本文件中。
基本要求]
(1) 输出文件中字与字之间只留一个空格符,即实现多余空格符的压缩。
(2) 在输出文件中,任何完整的字仍不能分隔在两行,行尾不齐没关系,但行首要对齐(即左对齐)。
(3) 如果所要求的每页页底所空行数不少于3,则将页号印在页底空行中第2行的中间位置上,否则不印。
(4) 版面要求的参数要包含:
. 页长(page length)——每页内文字(不计页号)的行数。
. 页宽(page wedth)——每行内文字所占最大字符数。
. 左空白(left margin)——每行文字前的固定格数。
. 头长(heading length)——每页页顶所空行数。
. 脚长(footing length)——每页页底所空行数(含页号行)
. 起始页号(starting page number)——首页的页号。
3.2】简单行编辑器。
问题描述 ]
设计一个简单的行编辑程序,输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共n行。存储结构使用线性表,文字中可以是大写、小写的英文字母、任何数字及标点符号。
基本要求 ]
1)分别统计出其中英文字母数和空格数及整篇文章总字数;
2)统计某一字符串在文章**现的次数,并输出该次数;
3)删除某一子串,并将后面的字符前移。
4)输出形式:
1)分行输出用户输入的各行字符;
2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"
3)输出删除某一字符串后的文章;
4.1】计算机专业教学计划编制。
问题描述 ]
我院对本三学生正在推行完全学分制改革,很多学生不清楚如何科学地选修课程,请根据计算机工程学院**上发布的08级软件工程专业人才培养方案,为学生制定一个合理的专业教学计划。
基本要求]1) 每学期选修学分不低于16,不超过35;
2) 每学期负担基本均衡;
3) 按学分收费,尽量节省学费开支;
4) 达到毕业要求的总学分为185,尽可能实现提前毕业。
4.2】高校专用通信网络建设。
问题描述 ]
中国移动公司正在积极推广3g通信应用,计划在江苏高校之间建立一个专用通信网络,请为其规划一个投资最省的通信线路架设方案。
基本要求]1) 用无向网模拟该系统,顶点表示各高校,边表示线路建设成本。
2) 高校数量不少于10个,覆盖苏南、苏中、苏北、南京等地的高校。
3) 输出方案的结果直观、明确。
4) 交互式改变某些线路的建设成本,可重新输出新方案。
4.3】校园导游咨询。
问题描述 ]
用无向网表示淮海工学院的校园景点平面图,图中顶点表示主要景点,存放景点编号、名称、简介等信息,图中边表示景点间的道路,存放路径长度信息。
基本要求 ]
1) 查询各景点的相关信息;
2) 查询图中任意两个景点间的最短路径。
3) 查询图中任意两个景点间的所有路径。
4.4】连云港市景点导游咨询。
问题描述 ]
用无向网表示连云港市旅游景点平面图,图中顶点表示主要景点,存放景点编号、名称、简介等信息,图中边表示景点间的道路,存放路径长度信息。
基本要求 ]
1)查询各景点的相关信息;
2)查询图中任意两个景点间的最短路径。
数据结构课程设计题目与要求
字符 n o p q r s t u v w x y z 频度 57 63 15 1 48 51 80 23 8 18 1 16 1 实现提示 1 编码结果以文本方式存储在文件codefile中。2 用户界面可以设计为 菜单 方式 显示上述功能符号,再加上 q 表示退出运行quit。请用户键入一个选...
数据结构课程设计题目要求
1.二叉树的遍历和应用。问题描述 以二叉链表表示二叉树,在此基础上实现对二叉树的遍历和应用。要求 创建二叉树。输出二叉树。二叉树的先序 中序 后序遍历。二叉树的按层遍历。统计二叉树的叶子结点 计算二叉树的深度。设计主函数测试该类。2.猴子选大王 约瑟夫环 问题描述 一堆猴子都有编号,编号是1,2,3...
数据结构课程设计题目及要求
题目 学生信息管理系统的开发与设计。1.基本内容。学生简历 学生信息的添加 学生信息的删除 学生信息的查询 有关信息的输出2.设计要求。以链表为存储结构,利用菜单进行功能选择,测试数据设计者自定。每个学生的数据项包含 学号 姓名 性别 班级 住址等。要求用c完成。要求和安排。1 问题分析和任务定义 ...