已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 C 语言综合训练报告范例 1绪论 (本部分描写程序或系统开发的背景,意义,你对题目的理解以及题目要求) 发背景 计算机技术发展,信息化普及 的状况下, 运算高效快速 化成为主流。 发意义 可以 节省工作 人员在 对集合运算时的时间, 得以有更多地时间做其它操作。 发要求 根据课程设计任务书要求,本系统开发主要完成以下功能和性能。 能够实现集合的并、交、差运算; 实现集合的元素判定和子集判定运算; 求集合的补集。 2系统分析 1、 程序的实现 ( 1) 功能 使用链表来表示集合,完成集合的合并,求交集等操作。 ( 2) 实施 1) 初步完成总体设计,搭好框架,确定函数个数; 2) 完成最低要求; 3) 继续完成进一步要求。 2、 设计的要求 (1) 界面友好,函数功能要划分好; (2) 总体设计应画流程图; (3) 程序要加必要的注释; (4) 要提供程序测试方案; (5) 程序要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。 3总体设计 1、 问题分析 该问题主要实现以下功能: (1) 利用尾插法建立单链表; (2) 对于输入的链表进行有序排列 (3) 删除有序链表中不符合要求的元素 (4) 调用函数对单链表进行交、并运算并输出 2、 模块结构 ( 1) 结构分析 程序以用户和计算机的对话方式执行,即在计算及终端显示提示信息之后,由用户在键盘输入演示程序中规定的运算命令;相应的输入数据(过滤输入中的非法字符)和运算结果闲时间在其后。系统由以下几个模块组成,分别是: 1) 单链表的建立 2) 单链表的有序排列 3) 删除单链表中不符合条件的元素 4) 集合交集 5) 集合并集 6) 双 链表输出 7) 主函数 ( 2) 结构分析图 4详细设计 (描写各个功能模块界面和程序的详细实现,里面要用到的算法, 函数 的具体实现,并画出对应的程序流程图。 ) 先做整体介绍,然后再分各个 模块介绍实现过程,对于每个模块要画出主要程序或算法的程序流程图 1、解题思路 ( 1) 数据结构设计 创建三个带头结点的单链表 ,用来存储两个集合中的元素和最终的结果 ,为实现集合的交、并运算功能,应以有序链表表示集合。为此,需要两个抽象数据类型:有序表和集合。 ( 2) 逻辑结构存储结构 逻辑结构:创造一个带结点的单链表包括(头结点 L、结点若干、尾结点);单链表中每个结点包括( * 主函数 创建链表 单链表结点类型交集 比较并保存相同元素 求并集 删除重复的元素 2、 算法设计 程序执行的命令包括: (1) 定义单链表结点类型 (2) 运用尾插法建立单链表 &L,a,n) (3) 创建头结点,为头结点分配空间 (4) 创建新结点 (5) 建立有序链表 & (6) 将两个集合的元素进行比较 (7) 删除有序链表中的重复元素 &(8) 求交集 * (9) 求并集 * *L2,* (10) 输出单链表 L) 5调试与测试 1、模块分析 ( 1) 定义单链表结点类型 ( 2) 运用尾插法建立单链表 L, a,n) s,*r; L=( ); /创建并为头结点分配空间 L-r=L; i=0;ai; r-s; r=s; r-( 3) 建立有序链表 & p=q,*r; if(p!= r=p-p- p=r; p!= r=p- q= q-q- q=q- p-q- q-p; p=r; 2、 结果分析 选择数字 1,进行排序输出; 选择数字 2,输出集合 1与集合 2的交集; 选择数字 3,输出集合 1与集合 2的并集。 可以看出,该程序成功是实现了集合的排序和两个集合的交集运算,而两个集合的并集运算显然还存在问题 ,在以后的学习与操作中,我们要更加注重程序的运行,尽量做到零问题出现。 6结论 经过两个星期的努力,终于完成了集合 运算器 系统的开 发和报告的撰写。整个课程设计程序实现了要求的功能: 能够实现集合的并、交、差运算; 实现集合的元素判定和子集判定运算;求集合的补集。 ;性能达到了要求;但是本系统还有不完善的地方,比如元素的删除与插入。 结束语 经过两周的课设,实际编程能力 有了非常明显的提高。 编程让我 懂得了许多的 道理,很多事情并不是想象中的 那么 简单,许多事情都要在失败的前提下,付出许多的心血才能够成功,一帆风顺是不存在的。 不要 轻言放弃,要执着,同时,学习的时候,知识一定要掌握的非常扎实才行,自己认为自己 会 了,其实并不是精通了,而只是大概有了一定的了解。 在 编程的过程 中 虽然非常累并且枯燥,但是当自己的程序成功运行的那一刻,心里的喜悦也是难以用语言描述的。自己的自信心瞬间提升,体会到了成功的快乐。 参考文献 1 催俊凯 。 计算机软件基础 。 机械工业 出版社。 2 唐发根。数据结构教程(第二版)。北京航空航天大学出版社。 3 严尉敏 ,吴伟民 C 语言版 )M2011 年 11 月 4 谭浩强。 C 程序设计(第三版)。清华大学出版社。 2005. 5 李建学,李光元,吴春芳。数据结构课程设计案例精编(用 C/C+描述)。北京:清华大学出版社。 6 王宏生,宋继红。数据结构。北京:国防工业出版社, 录 1用户手册 (单独起一页 ) (附录中的图和前面文中的图统一编号,接着上面的往下排 ) 点击运行,首先出现菜单,如图 12 所示 。 图 12 登录界面 输入元素, 如图 13 所示。 图 13 主界面 在此界面可以运行 两个 两个集合之间进行交、并、差的运算,以及求集合的补集和判定元素以及子集的判定。如图 14。 。 10 附录 2源程序 (单独起一页 ) 主要模块源代码清单: #00 ; H=) H- ; H) p,q; p=*H; p) q=p; p=p-q; *H= ) p=H; 1; p) p=p-; ,x) p=H-p;p!=p=p- if(p-x) if(p= ) p; %c,& n) p=p-p-H-p; %c,& ,x) p=H-q=H; =H- q=q- if(p-x) q-p-p; ) *为原链表剩下用于直接插入排序的节点头指针 */ t; /*临时指针变量:插入节点 */ p; /*临时指针变量 */ q; /*临时指针变量 */ H-*原链表剩下用于直接插入排序的节点链表 */ H- *只含有一个节点的链表的有序链表。 */ = *遍历剩下无序的链表 */ /*插入排序 */ t = q = H; (q!=& (q-; p=q, q=q- /*无序节点在有序链表中找插入的位置 */ /*退出 是找到了插入的位置 */ *无序链表中的节点离开,以便它插入到有序链表中。 */ q = H) H = t; /*插在第一个节点之前 */ p- t; /*p是 q; /*完成插入动作 */ ) p; p=H-p!= %c,p- ); p=p- n); 1,2,3) p1,p2, 1- 2-&( p2=&( ; 3- p1= 1,2,3) p1,p2,1- p3=3-p1= 2- 1-&( p1= p3=3- p2= 1,2,3) p1,p2,1- 2-&( p2=if( p3=3- p1= 1,2,3) p1,p2,1-2- if( p3=3-p1= if(p1= if( p2= 1,2) if(1)p) x=p-1,x) p=p- i,l) /
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程管理硕士考试题及答案
- 赣州军训考试题目及答案
- 工业污水处理设施项目初步设计
- 文化产品创意策划方案
- 光伏项目商业计划书
- 2026年共青团中央所属事业单位社会人员招聘18人模拟笔试试题及答案解析
- 虚拟电厂建设项目商业计划书
- 2025年福建省龙岩技师学院公开招聘美容专业高技能实习指导教师模拟笔试试题及答案解析
- 工业污水处理设施项目建议书
- 水质监测与控制技术方案
- 2026包钢(集团)公司新员工招聘(322人)笔试考试参考试题及答案解析
- 2025广西公需科目培训考试答案(90分)一区两地一园一通道建设人工智能时代的机遇与挑战
- 中南大学《工程制图》习题集期末自测题答案解析
- 小学四年级语文上册期末复习教案教学设计
- 转基因的利与弊
- GB/T 8539-2000齿轮材料及热处理质量检验的一般规定
- GB/T 24118-2009纺织品线迹型式分类和术语
- 三角函数的叠加之辅助角公式【公开课教学课件】
- 2023年北京市朝阳区城管协管员招聘笔试模拟试题及答案解析
- 【公开课】高三生物一轮复习课件:生态系统的能量流动
- 学校后勤管理工作课件
评论
0/150
提交评论