- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计基础实题目
程序设计基础实训手册
西安电子科技大学软件学院 程序设计课程组
2010年9月
程序设计基础实训手册 1
前 言 3
程序设计基础实训 单元实验 4
单元实验题目一 4
实验目的:熟悉C语言的文件操作 4
单元实验题目二 5
实验目的:掌握常用的排序算法 5
单元实验题目三 7
实验目的:掌握栈和队列的基本结构及应用 7
单元实验题目四 9
实验目的:掌握图的基本存储结构及图的遍历运算 9
单元实验题目五 10
实验目的:掌握图的最小生成树求解方法 10
单元实验题目六 12
实验目的:掌握图的最短路径求解方法 12
程序设计基础实训 综合实验 14
题目一 图书管理信息系统的设计与实现 14
题目二 简单文本编辑器实现 15
题目三 五子棋游戏的设计与实现 16
题目四 全国交通咨询模拟 18
题目五 订票系统 19
题目六 年级成绩管理系统 20
附录1单元实验报告模板 21
附录2综合实验报告模板 23
前 言
1. 程序设计基础实训的教学目的和要求
程序设计基础实践是完成C程序设计和数据结构课程的理论和实验后,需要进行的一个程序设计实践训练。目的是巩固和提高同学们的程序设计能力。要求同学们认真完成实验要求,并提交实验报告。
目前的实验内容分为单元实验和综合实验两部分,具体要求如下:
(1)单元实验要求每个学生独立完成。单元实验共需提交4份实验报告,其中单元实验一和二中选择一题书写并提交报告,实验三~六中选择三题书写并提交实验报告,报告模板见附录I。
(2)综合实验分组实施。从综合实验题目选择一题,由小组成员分工合作完成问题的分析、设计、编程调试及实验报告的书写,报告模板见附录II。
2. 实验前的准备工作
回顾并复习实验中涉及的相关内容,上机实验前完成程序的设计工作,准备好调试和运行时所需的测试数据,包括各类输入数据及正确的输出数据。
3. 关于实验报告的说明
(1)按照附录中的模板书写实验报告;
(2)报告主体只有程序清单的实验报告以不及格报告评分并登记成绩;
(3)认定为内容雷同的实验报告(包括内容完全相同、个别句子作少量修改等情况),以不及格报告评分并登记成绩。
程序设计基础实训 单元实验
单元实验一
实验目的:熟悉C语言的文件操作
【问题描述】
需要长期保存的数据可以文件方式存储在外存上,C语言提供了一组文件操作函数:fopen、fclose、fgets、fputs、fgetc、fputc、fscanf、fprintf、fread、fwrite、rewind、fseek、feof等,应了解这些函数的用法并加以应用。
【基本要求】
1. 用随机函数产生1000个整数,保存在文件(intfile.dat)中,然后将文件中的数据读取出来显示。
(1)用fprintf函数写入数据,要注意整数之间需要有分隔符号,所有数据写入后关闭文件;(%d\t)
(2)重新打开文件,用fscanf函数逐个读取并显示数据;
(3)用fseek函数对文件指针进行定位,仅读取需要的数据。例如,分别将文件指针定位到第5个整数、第10个整数,读取这两个整数并显示;分别将文件指针定位到倒数第5个整数、倒数第10个整数,读取这两个整数并显示。
2. 建立一个由5名学生信息组成的文件(studinfo.dat),其中,每个学生都有学号、姓名、性别和三门课程的成绩。
(1)用结构体类型描述学生的基本信息,其中:学号和姓名用字符串表示,其长度定义参照本校的情况,课程名自行定义,成绩采用百分制;
(2)学生信息由键盘输入,先存入结构体变量;
(3)用fwrite函数将结构体变量的值写入文件studinfo.dat;
(4)用fread函数从文件studinfo.dat中读取数据并按一定格式显示在屏幕上(例如,每行显示一个学生信息,各项信息之间要有一定的间隔,所有学生的所有信息对齐显示等)
【测试数据】
用随机函数或自行输入数据进行测试。
单元实验二
实验目的:掌握常用的排序算法
【问题描述】
简单排序算法的排序方法,需要熟练掌握。
快速排序算法是由C.A.R. Hoare在1961年发明的一种内排序算法一般来说,快速排序算法要显著的快于其他的算法,最坏情况发生的概率尽量减小堆排序算法 Heap Sort 斯坦福大学计算机科学系教授罗伯特·弗洛伊德 Robert W.Floyd1991年计算机先驱奖获得者 和威廉姆斯 J.Williams 在1964年共同发明堆排序是一树形选择排序。特点是:在排序过程中,将R[l..n]看成是一棵完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系参见二叉树的顺序存储结构,在当前无序区中选择关键字最大或最小的记录堆排序的时间,主要由建立初始]堆和反复重建堆这两部分的时间开销构成,最坏时间复
文档评论(0)