吉林大学数据结构上机实验题目
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目一: 运动会分数统计
参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;前五名的积分为:7、5、3、2、1,前三名的积分为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)
1)可以输入各个项目的前三名或前五名的成绩;
2)能统计各学校总分;
3)可以按学校编号或名称、学校总分、男女团体总分排序输出;
4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名
的学校;
5)数据存入文件并能随时查询;
6)其他要求:
a)输入数据:可以输入学校的名称,运动项目的名称;
b)输出形式:有中文提示,各学校分数为整型;
c)界面要求:有合理的提示,使用者可根据提示,完成相关的功能要求;
d)存储结构:根据系统功能要求自行设计,但是要求运动会的相关数据要存储在
数据文件中,在实验报告中指明你用到的存储结构;
e)测试数据:分别使用合法数据、非法数据进行程序测试,以保证程序的稳定,
测试数据及测试结果请在实验报告中写明;
题目二: 纸牌游戏
编号为1-52共52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;再依次4, 5, 6, ……. 直到以52为基数的翻过,输出:这时正面向上的牌有哪些? 题目三: 铁路票务管理系统
1)录入功能:可以录入铁路车次情况(车次,经停站,到发车时间,票价等)
2)查询功能:可以查询某列火车的情况(输入车次,查询发车时间,票价等);
3)站间查询:输入出发地和目的地,查询乘车情况(列出所有直达车次,如无直达车给出
转车建议)
4)订票功能:可以订火车票,如果该车次无票,提供相关可选择车次;
5)退票:可退票,退票后修改相关数据文件;
6)修改车次信息:当车次信息改变可以修改数据文件
7)要求:根据以上功能说明,设计数据结构,设计程序完成相应功能;
题目四: 哈夫曼编码的实现与应用
1)从文件中读入任意一篇英文短文(至少含3000个字符,文件为ASCII编码的文本文件)
2)统计不同字符在文章中出现的频率(空格、换行、标点等也按字符处理)
3)根据字符频率构造哈夫曼树,并给出每个字符的哈夫曼编码。
4)用哈夫曼编码来存储文件,并和输入文本文件大小进行比较,计算文件压缩率
题目五: 计算器
编写程序,实现一个具有下列功能的简易计算器:一元多项式的加、减、乘、除和模运算(mod)五个函数,例如:
输入输出
加法:(x^5+2*x^4+x^3) + (4*x^3) = x^5+2*x^4+5*x^3
减法:(x^5+2*x^4+x^3) - (4*x^3) = x^5+2*x^4-3*x^3
乘法:(x+1) * (x+1) = x^2+2*x+1
除法:(x^2+2*x +2) / (x+1) = x+1
% (x+1) = 1
+2)
模运算: (x^2+2*x
题目六: 公司招工
某公司招工N名,在考查的科目中,最终成绩分为四类,一类为五门都及格,二类为一门不及格,三类为两门不及格,其余为四类。录取方法是按类次(首先一类,最后四类)并在每一类中按总分从高到低录取。试设计一个成绩处理程序,要求打印输出N份录取通知书,列出录取者的各门成绩及总分。(假设报考人数大于N,且第N名与第N+1名一定不会同类且总分相等)
题目七: 图书馆管理
图书馆借书处为读者提供预约登记服务:当读者发现自己想要借的书暂缺时,只要将书号、借书证号和联系电话记录在预约登记本上。当管理员发现读者还回来的书是某读者以前想要借的书时,就电话通知该读者去图书馆办理借阅手续。请设计一个关于图书预约登记的演示程序。
题目八: 求解Josephus问题
Josephus问题的描述如下:设n个人围坐在一个圆桌周围,从第s个人开始数数,数到m的人,让他出局,然后从出局的人的下一个人重新开始数数,数到m的人,再让他出局,……,如此反复直到所有的人全部出局为止。试设计一个求解Josephus问题的算法,对于任意给定的n、s和m,求出n个人的出局序列;编制程序实现该算法,制定测试方案,并调试通过。
1、选择求解Josephus问题的数据结构。
2、编制求解该问题的程序,为便于观察程序的运行结果,设计输出函数,该函数能在输出
设备上以图形、表格或其它直观的形式展现程序的运行结果。
3、为程序制定测试方案。
4、为方便程序测试,程序代码中应包括合适的调试语句。
5、测试程序时,对所有输入变量应遍取各种有代表性的值。
6、为增强程序的可读性,对程序中较难理解的语句要有准确、清晰的注释。