(2)输出形式:
中文提示按照m个猴子,数n个数的方法,输出为大王的猴子是几号。
【2.1】停车场管理
[问题描述]
设停车场是一个可停放n辆车的狭长通道,且只有一个大门可供汽车进出。
在停车场内,汽车按到达的先后次序,由北向南依次排列(假设大门在最南端)。
若车场内已停满n辆车,则后来的汽车需在门外的便道上等候,当有车开走时,便道上的第一辆车即可开入。
当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门后,其它车辆再按原次序返回车场。
每辆车离开停车场时,应按其停留时间的长短交费(在便道上停留的时间不收费)。
[基本要求]
(1)要求以顺序栈模拟停车场,以链队列模拟便道。
(2)从终端读入汽车到达或离去的数据,每组数据包括三项:
①是“到达”还是“离去”;
②汽车牌照号码;
③“到达”或“离去”的时刻。
与每组输入信息相应的输出信息为:
如果是到达的车辆,则输出其在停车场中或便道上的位置;如果是离去的车辆,则输出其在停车场中停留的时间和应交的费用。
【2.2】车厢调度
[问题描述]
假设在铁路调度站(如教科书图3.1(b)所示)入口处的车厢序列的编号依次为1,2,3。
设计一个程序,求出所有可能由此输出的长度为n的车厢序列。
[基本要求]
首先在教科书上提供的栈的顺序存储结构之上实现栈的基本操作,即实现栈类型。
程序对栈的任何存取(即更改,读取和状态判别等操作)必须借助于基本操作进行。
[实现提示]
一般的说,在操作过程的任何状态下都有两种可能的操作:
"入"和"出"。
每个状态下处理问题的方法都是相同的,这说明问题本身具有天然的递归特性,可以考虑用递归算法实现,输入序列可以仅由一对整形变量表示,即给出序列头/尾编号。
输出序列用栈实现是方便的(思考:
为什么不应该用队列实现)只要再定义一个栈,打印操作(s),自底至顶顺序的印出栈元素的值。
【2.3】表达式求值
[问题描述]
一个算术表达式是由操作数()、运算符()和界限符()组成的。
假设操作数是正整数,运算符只含加减乘除等四种运算符,界限符有左右括号和表达式起始、结束符“#”,如:
#(7+15)*(23-28/4)#。
引入表达式起始、结束符是为了方便。
编程利用“算符优先法”求算术表达式的值。
[基本要求]
(1)从键盘读入一个合法的算术表达式,输出正确的结果。
(2)显示输入序列和栈的变化过程。
[选作内容]
(1)扩充运算符集合。
(2)引入变量操作数。
(3)操作数类型扩充到实数。
【2.4】航空订票系统
[问题描述]
航空客运订票大的业务活动包括:
查询航线,客票预订额办理退票等。
试设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。
[基本要求]
(1):
每条航线所设计的信息有:
终点站名,航班号,飞机号,飞行周日(星期几),乘员定额,余票量,已订票的客户名单(包括姓名,订票量,舱位等级1,2或3)以及等候替补的客户名单(包括姓名,所需票量);
(2):
作为示意系统,全部数据可以只存放在内存中;
(3):
系统能实现的操作功能如下:
1),查询航线:
根据旅客提出的终点站名输出下列信息:
航班号,飞机号,星期几飞行,最近一天航班的日期和余票额;
2)承办订票业务:
根据客户提出的要求(航班号,订票数额)查询该航班票额情况,若尚余票则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新询问客户要求。
若需要可登记排队候补;
3)承办退票业务:
根据客户提供的情况(日期,航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若退票额能满足他的要求,则为他办理订票手续,否则依次询问其它排队候补的客户。
【3.1】文本格式化
[问题描述]
输入文件中含有待格式化(或成为待排版)的文本,它由多行文字组成,例如一篇英文文章。
每一行由一系列被一个或多个空格符所隔开的字(字是一行中不含空格符的最长(即任意一端都不能再扩展一个非空格符的进来的)子串,例如"!
"算是一个字。
)所组成,任何完整的字都没被分隔在两行(每行最后一个=字与下一行第一个字在逻辑上应该由空格分开),每行字符数不超过80。
除了上述文本类字符外,还存在起控制作用的字符:
符号"@"指示它后面的正文在格式化时应另起一段排放,即空一行,并在段首缩入8个字符位置。
"@"自成一个字。
一个文本格式化程序可以处理上述输入文件,按照用户指定的版面规格重排版面:
实现页内调整,分段,分页等文本处理功能,排版结果存入输出文本文件中。
[基本要求]
(1)输出文件中字与字之间只留一个空格符,即实现多余空格符的压缩。
(2)在输出文件中,任何完整的字仍不能分隔在两行,行尾不齐没关系,但行首要对齐(即左对齐)。
(3)如果所要求的每页页底所空行数不少于3,则将页号印在页底空行中第2行的中间位置上,否则不印。
(4)版面要求的参数要包含:
.页长()——每页内文字(不计页号)的行数。
.页宽()——每行内文字所占最大字符数。
.左空白()——每行文字前的固定格数。
.头长()——每页页顶所空行数。
.脚长()——每页页底所空行数(含页号行)
.起始页号()——首页的页号。
【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)查询图中任意两个景点间的最短路径
(3)查询图中任意两个景点间的所有路径
(4)可动态添加景点,加后可查询该景点到其它景点的最短路径
【4.5】全国著名景点导游咨询
[问题描述]
用无向网表示全国著名旅游景点平面图,图中顶点表示主要景点,存放景点编号、名称、简介、门票价格等信息,图中边表示景点间的道路,存放路程长度和行程费用信息。
[基本要求]
(1)查询各景点的相关信息;
(2)查询图中任意两个景点间的最短路径
(3)查询图中任意两个景点间的最经济路径
(4)根据游客计划的旅游费,为游客推荐最节省的旅游线路与景点
【5.1】图书管理系统
[问题描述]
设计一个图书管理系统,实现图书采编入库、借书、还书、查询等基本业务。
[基本要求]
(1)登记每种书的基本信息,包括书号、书名、作者、现存量和库存量、借阅记录;
(2)可按书号、书名、作者查询图书信息;
(3)实现图书采编入库、借阅、归还、销毁等功能。
【5.2】通讯录管理系统
[问题描述]
设计一个通讯录管理系统,实现对联系人信息的添加、查询、浏览、删除、修改等功能,联系人信息要保存在数据文件中。
[基本要求]
(1)添加联系人的信息到通讯薄中,包括:
姓名、性别、城市、邮编、手机号、号、;
(2)可按姓名、手机号查询联系人信息;
(3)实现现有联系人信息的浏览、修改、删除功能,结果保存到文件中。
【5.3】学生成绩管理系统
[问题描述]
已知某学生成绩表中现有N位同学的成绩(要求各人数据不同),如:
学号
姓名
成绩
01101
李平
75
01202
王露
70
01205
张强
85
01118
曹雨
90
……
……
……
现需要删除已转学的某位同学的成绩,同时添加某位同学的成绩(学号、姓名、课程、成绩自定),插入位置按姓名升序排列。
[基本要求]
(1)现有N位同学的数据要求从数据文件中读入,不用交互方式录入;
(2)拟删除同学的姓名及新添加同学的数据采用交互方式输入;
(3)删除及插入操作完毕,需将成绩表中的所有记录按姓名升序方式显示出来;
(4)将更新后的成绩表保存到另一个数据文件中;
(5)可以增加功能:
如修改某位同学的成绩。
【5.4】简单的员工管理系统
【5.5】汽车牌照管理系统
[问题描述]
排序和查找是在数据处理中使用频度极高的操作,为加快查找的速度需现对数据记录按关键字排序。
在汽车数据的信息模型中,汽车牌照是关键字,而且是具有结构特点的一类关键字,因为汽车牌照号是数字和字母混编的,例如01B7328,这种记录集合是一个适于利用多关键字进行排序的典型例子。
[基本要求]
(1)首先利用链式基数排序方法实现排序,然后利用折半查找方法,实现对汽车记录按关键字进行查找。
(2)汽车记录集合可以人工录入,也可以按自动方式随机生成。
附件1:
海南师范大学
课程设计报告书
题目:
院系:
专业班级:
组长学号、姓名:
其它组员学号、姓名:
指导教师:
年月日
说明
本项目组员分工及评分情况:
姓名
所完成任务
小组对该组员的评价
小组评分
设计报告正文
附件2:
海南师范大学课程设计任务书
院:
201201学年度第学期
组长学号
组长姓名
专业(班级)
设计题目
同组成员
设
计
要
求
设
计
方
法
成
果
形
式
工
作
进
度
及
分
工
参
考
资
料
指导教师签字
系主任签字