logo资料库

数据结构与C语言综合习题集.doc

第1页 / 共38页
第2页 / 共38页
第3页 / 共38页
第4页 / 共38页
第5页 / 共38页
第6页 / 共38页
第7页 / 共38页
第8页 / 共38页
资料共38页,剩余部分请下载后查看
数据结构与 C 语言综合训练习题集 序号 项目名称 任务描述 1. 身份证管理程序 该程序应该具有下列功能: 2. 期刊论文管理程 序 3. 哈夫曼编码 (1) 通过键盘可以输入身份证信息,大量信息可存放在文件中。身份证包含的信息请 参看自己的身份证; (2) 给定身份证号码,显示其身份证信息; (3) 给定省份的编号,显示该省的人数; (4) 给定某区的编号,显示该区的人数; (5) 给定身份证号码,可以修改该身份证信息; (6) 给定身份证号码,可以删除该身份证信息; 该程序应该具有下列功能: (1) 通过键盘输入某期刊论文的信息,也可以把大量期刊论文信息放在文件中; (2) 给定期刊论文的论文名称,显示该论文的作者信息,作者单位,发表期刊的名称; (3) 给定作者姓名,显示所有该作者发表的期刊论文情况; (4) 给定期刊名称,显示该期刊的所有论文信息; 问题描述:利用哈夫曼编码,实现压缩和解压缩。 基本要求: 对于给定的一组字符,可以根据其权值进行哈夫曼编码,并能输出对应的哈夫曼树 和哈夫曼编码;实现哈夫曼解码。 提高要求: (1)能够分析文件,统计文件中出现的字符,统计字符出现的概率,再对文件进行编 1 设计要求 指导 教师 每 组 学 生 人 数 吴昊 2 提 供 一 些 统 计 各 类 信息的功能。例如男 女的人数、比例;以 及哪年、哪月、哪日 出生的人数等。界面 要合理。 吴昊 2 吴昊 1 提 供 一 些 统 计 各 类 信息的功能。例如某 人发表论文的个数, 某 期 刊 出 版 论 文 的 个数等。 完 成 任 务 描 述 中 的 各种功能,自己可以 适 当 增 加 必 要 的 功 能。
数据结构与 C 语言综合训练习题集 码,实现文件的压缩和解压缩。 (2)能够对于文件的压缩比例进行统计。 4. 约瑟夫环问题 功能:设编号为 1,2,3,……,n 的 n(n>0)个人按顺时针方向围坐一圈,每个 人持有一个正整数密码。开始时任选一个正整数做为报数上限 m,从第一个人开始顺 时针方向自 1 起顺序报数,报到 m 时停止报数,报 m 的人出列,将他的密码作为新 的 m 值,从他的下一个人开始重新从 1 报数。如此下去,直到所有人全部出列为止。 令 n 最大值取 30。要求设计一个程序模拟此过程,求出出列编号序列。 要求:用数组和链表 分别实现。m 和 n 的 值可以由键盘输入。 吴昊 1 5. 学生宿舍管理查 询软件 设计一个简单的学生宿舍管理查询程序,要求根据菜单处理相应功能。 (1)建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序 (2)查询菜单: (可以用二分查找实现以下操作) A. 按姓名查询 B. 按学号查询 C. 按房号查询等 6. 学生成绩管理系 统 学生成绩信息文件 2(2.txt),内容 (3)可以打印任一查询结果 (4)每个学生的信息包括:序号、学号、性别、房号、楼号等; 现有学生成绩信息文件 1(1.txt),内容如下 如下: 姓名 学号 语文 数学 英语 82 张明明 01 李成友 02 88 56 张辉灿 03 77 王露 04 陈东明 05 47 -- --------- --- 姓名 学号 语文 数学 英语 82 陈果 31 李华明 32 68 56 张明东 33 87 李明国 34 陈道亮 35 77 -- -- -------- 78 91 82 45 38 -- 57 88 48 50 47 -- 68 90 42 45 58 -- 67 78 68 56 67 -- 2 吴昊 2 排序方法任选。基本 功能为:建立文件、 增加学生宿舍记录、 删除/修改、查询学生 宿舍记录。 要求使用结构体链 表 或 数 组 等 实 现 上 述要求. 吴昊 1
数据结构与 C 语言综合训练习题集 试编写一管理系统,要求如下: 1) 实现对两个文件数据的合并,生成新文件 3.txt 2) 抽取出三科成绩中有补考的学生并保存在一个新文件 4.txt 3) 对合并后的文件 3.txt 中的数据按总分降序排序(至少采用两种排序方法实现) 4) 输入一个学生姓名后,能查找到此学生的信息并输出结果 7. 8. 9. 10. 家电销售系统 用链式结构建立有序表,结点的数据域应该包括家电名称、品牌型号、单价以及数 量,以结点中单价的递增顺序排列。日常的维护操作应该包括初始化,创建链表, 插入,删除,更新数据,打印,查询。 界面安排合理,提示 信息完善。 吴昊 1 图书管理系统 基本业务活动包括:对新书的采编入库、清除库存、借阅和归还等等。 图书的基本信息:图书编号,出版社,作者信息,定价,图书名称等。 文本编辑系统 (1)分别统计出其中英文字母数和空格数及整篇文章总字数; (2)统计某一字符串在文章中出现的次数,并输出该次数; (3)删除某一子串,并将后面的字符前移。 通讯录管理系统 问题描述:编写一个通讯录管理系统。本系统应完成以下几方面的功能: 2) 显示信息———display( ); 1) 输入信息——enter(); 3) 查找以姓名作为关键字 search( ); 4) 删除信息———delete( ); 5) 存盘———save ( ); 6) 装入———load( ) ; 要求:(1) 每条信息应包含 :姓名(NAME )街道(STREET)城市(CITY) 邮编(EIP)国家(STATE)等信息。 吴昊 1 吴昊 1 吴昊 1 完 成 任 务 描 述 中 的 各种功能,自己可以 适 当 增 加 必 要 的 功 能。 字串可以任意输入。 完 成 任 务 描 述 中 的 各种功能,自己可以 适 当 增 加 必 要 的 功 能。 作 为 一 个 完 整 的 系 统,应具有友好的界 面 和 较 强 的 容 错 能 力 11. 求任一表达式的 主要是加减乘除的运算,利用栈的思想对表达式求值。要掌握运算符的优先级等, 有进栈、出栈、判断 吴昊 1 3
数据结构与 C 语言综合训练习题集 值 按照运算符的优先级进行判断。 12. 订票系统 13. 简单算术表达式 运算 14. 字符串操作 15. 集合操作 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据 自定) 查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市, 航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班 情况; 给定简单的算术表达式,包括加减乘除括号这几种运算操作符,请计算表达式的值。 (1)能够正确处理加减乘除这四种运算; (2)能够正确处理括号运算; 编写程序,不使用标准库函数,实现字符串的拷贝、拼接、字串查找、长度计算等 函数。 (1)在不使用相关的标准库函数的情况下,完成本任务; (2)实现两个字符串拼接的函数 strcat(str1, str2); (3)实现字符串拷贝的函数 strcpy(str1,str2); (4)实现字符串查找的函数 strcstr(str1,str2); (5)实现字符串长度计算的函数 strlen(str1); (6)实现字符串查找字符的函数 strcchar(str1,c); (7)实现字符串替换的函数 strcreplacestr(str1,str2,str3); (8)实现字符串替换字符的函数 strcreplacechar(str1,str2,c); 用单链表模拟有序集合,实现集合的加入一个元素、删除一个元素、集合的交、并、 差运算。 (1)用单链表存放集合中的元素,链表中的元素按大小存放; (2)实现集合加入一个元素删除一个元素的元素操作; (3)实现集合的交、并、差集合操作; 栈顶元素等操作。 完 成 任 务 描 述 中 的 各种功能,自己可以 适 当 增 加 必 要 的 功 能。 首 先 将 算 术 表 达 式 转化成逆波兰式,针 对 逆 波 兰 式 进 行 运 算。 完 成 任 务 描 述 中 的 各种功能,自己可以 适 当 增 加 必 要 的 功 能。 吴昊 1 吴昊 1 吴昊 1 吴昊 1 完 成 任 务 描 述 中 的 各种功能,自己可以 适 当 增 加 必 要 的 功 能。 4
数据结构与 C 语言综合训练习题集 16. C 语言源程序代 码 行 统 计 工 具 codeCounter 编写程序,统计 C 语言源程序的代码。 1. /* */ 和//的都认为是注释行 2. 统计空行 3. 非空非注释行,基本上可以认为 是有效的代码行 如果同一行中有注释和代码的认为是代码行 4, 统计总代码行数、 注释行数、空行数 17. 歌手比赛系统 5 输入: codeCounter –filename/filepath 输出列表: filename 总代码行数、注释行、空行 设计一个简单的歌手比赛绩管理程序,对一次歌手比赛的成绩进行管理 功能要求: 1.输入每个选手的数据包括编号、姓名、十个评委的成绩,根据输入计算出总成绩 和平均成绩(去掉最高分,去掉最低分)。 2.显示主菜单如下:1)输入选手数据 2)评委打分 3)成绩排序(按平均分)4) 数据查询 5)追加学生数据 6)写入数据文件 7)退出系统 18. 小学生测验系统 面向小学 1~2 年级学生,随机选择两个整数和加减法形成算式要求学生解答。 功能要求: (1)电脑随机出 10 道题,每题 10 分,程序结束时显示学生得分; (2)确保算式没有超出 1~2 年级的水平,只允许进行 50 以内的加减法,不允许两 数之和或之差超出 0~50 的范围,负数更是不允许的; (3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入, 如果三次机会结束则输出正确答案; (4)对于每道题,学生第一次输入正确答案得 10 分,第二次输入正确答案得 7 分, 第三次输入正确答案得 5 分,否则不得分; (5)总成绩 90 以上显示“SMART” ,80-90 显示“GOOD”,70-80 显示“OK”,60-70 显示“PASS”,60 以下“TRY AGAIN” 1 梁 春 泉 1 梁 春 泉 1 梁 春 泉 19. 学生宿舍管理查 询软件 设计一个简单的学生宿舍管理查询程序,要求根据菜单处理相应功能。 (1)建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选 梁 春 1 5
数据结构与 C 语言综合训练习题集 择、插入排序等任选一种) (2)查询菜单: (可以用二分查找实现以下操作) C.?按房号查询等 号查询 (3)可以打印任一查询结果 (4)每个学生的信息包括:序号、学号、性别、房号、楼号等; (5)基本功能为:建立文件、增加学生宿舍记录、删除/修改、查询学生宿舍记录。 A.?按姓名查询 B.?按学 20. 通讯录的系统 21. 简单算术表达式 运算 22. 学生学分管理程 序 设计并实现一个简单的通讯录系统 本系统应完成一下几方面的功能:①输入信息:调用此函数用以输入数据到内存中, 此过程包括建立相应的链表或相应的数组,便于读取②显示信息:用以显示输入的 数据,包括从内存中读出和从磁盘中读出③查找:以姓名作为关键字查找要找的信 息④删除信息:用以删除选定的输入信息(姓名作为关键字)⑤存盘:调用此函数 将内存中的数据保存至磁盘中⑥装入:调用此函数用以将之前保存在磁盘的内容读 入到内存中或显示到屏幕上。注:本课题中输入的数据应包括以下几项信息:姓名、 学校、城市、邮编、国家。 给定简单的算术表达式,包括加减乘除括号这几种运算操作符,请计算表达式的值。 (1)能够正确处理加减乘除这四种运算; (2)能够正确处理括号运算; 实现提示: 首先将算术表达式转化成逆波兰式,然后针对逆波兰式进行运算。 实现一个简单的学生学分管理系统 假设每位学生必须完成基础课 50 学分、专业课 50 学分、选修课 24 学分、人文类课 程 8 学分、实验性课程 20 学分才能够毕业。因此在管理学分时,要考虑每个学分所 属于的课程类别。 该程序应该具有下列功能: (1) 通过键盘输入某位学生的学分; (2) 给定学号,显示某位学生的学分完成情况; (3) 给定某个班级的班号,显示该班所有学生学分完成情况; 6 泉 1 梁 春 泉 1 1 梁 春 泉 梁 春 泉
23. 中文分词实现 24. 字符串操作 数据结构与 C 语言综合训练习题集 (4) 给定某位学生的学号,修改该学生的学分信息; (5) 按照某类课程的学分高低进行排序; (6) 提供一些统计各类信息的功能。 对中文句子进行划分,得到词组 采用基于字符串匹配的分词方法,即汉字串与一个机器词典(词典文件可网上下载) 中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。分别 实现以下几种划分方法: 1)正向最大匹配法(由左到右的方向); 2)逆向最大匹配法(由右到左的方向); 3)最少切分(使每一句中切出的词数最小); 4)双向最大匹配法(进行由左到右、由右到左两次扫描) 编写程序,不使用标准库函数,实现字符串的拷贝、拼接、字串查找、长度计算、 拆分、等函数。 (1)在不使用相关的标准库函数的情况下,完成本任务; (2)实现两个字符串拼接的函数 strcat(str1, str2); (3)实现字符串拷贝的函数 strcpy(str1,str2); (4)实现字符串查找的函数 strcstr(str1,str2); (5)实现字符串长度计算的函数 strlen(str1); (6)实现字符串查找字符的函数 strcchar(str1,c); (7)实现字符串替换的函数 strcreplacestr(str1,str2,str3); (8)实现字符串替换字符的函数 strcreplacechar(str1,str2,c); (9)实现字符串拆分函数 strsplit(str1,c,str[]) 25. 万 年 历 查 询 程 序。 实现万年历程序 功能要求: (1)提供菜单方式选择,假定输入的年份在 1940-2040 年之间。 (2)输入一个年份,输出是在屏幕上显示该年的日历。 7 1 梁 春 泉 1 梁 春 泉 1 梁 春 泉
数据结构与 C 语言综合训练习题集 (3)输入年月,输出该月的日历。如: (4)输入年份、月份、日期,计算得到的是这一天据今天有多少天,星期几; (5)输入公历的年月日,输出农历年月日。 (6)输入农历节气,输出当年农历的年月日及公历年月日。可以假定只涉及年份是 1940 年到 2040 年。 26. 数字游戏的设计 实现一个简单的猜数字游戏 (1)一个四位数,各位上的数字不重复,从 1 到 9。 (2)按以下提示猜出这个四位数。 (3)每次猜测输入的数据给出类似的提示*A*B。 (4)其中 A 前的*代表你本次猜对了多少个数字。 (5)其中 B 前的*代表你本次猜对的数字并且位置正确的个数。 (6)给定猜测次数,如果超过次数未猜中,游戏失败 27. 集合操作 用单链表模拟有序集合,实现集合的加入一个元素、删除一个元素、集合的交、并、 差运算。 (1)用单链表存放集合中的元素,链表中的元素按大小存放; (2)实现集合加入一个元素删除一个元素的元素操作; (3)实现集合的交、并、差集合操作; 28. 订票系统 实现一个简单的订票系统 基本要求: 8 1 梁 春 泉 1 梁 春 泉 梁 春 1
分享到:
收藏