




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学习好帮手 数据结构课程数据结构课程 设计报告设计报告 一元多项式的计算一元多项式的计算 主要用到的结构是链表主要用到的结构是链表 班 级 软件 092 班 姓 名 熊治景 指导教师 董跃华 井福荣 成 绩 信息工程学院 年 月 日 学习好帮手 摘要摘要 本次试验依据江西理工大学 09 级数据结构实验要求 较完善的对题目进行了 分析 理解和编程 程序思路清晰 考虑全面 对于此题 应该使用链式存储结构存储多项式的信息 并根据算法用 C 语言编 程 同时在本书的后面附带了一部分程序源码和对程序的同步解释 为了更直观的 对程序的理解 该书还运用了框架图 使读者能够更好地认识程序 在用 C 语言编程的时候 要用到的语句主要有函数调用语句 判断语句 输入 和输出语句等 关键词 一元多项式 线性表 指数 学习好帮手 目目录录 1 1 引言引言 4 2 2 需求分析 需求分析 5 3 3 概要设计概要设计 5 4 4 详细设计详细设计 7 1 由大到小排序 7 2 两多项式相加 7 3 两多项式相减 9 5 5 测试结果测试结果 11 1 主菜单 11 2 输入两个多项式 11 3 将两多项式进行加减 并退出界面 12 6 6 调试分析调试分析 12 7 7 设计体会设计体会 12 8 8 结束语结束语 13 9 9 参考文献参考文献 13 10 10 附录附录 13 学习好帮手 一元多项式的计一元多项式的计算算 1 1 引言引言 本次课程设计的目的本次课程设计的目的 是对数据结构所学内容的进一步的理解与巩固 是将计算 机课程与实际问题相联接的关键步骤 通过课程设计 能够提高分析问题 解决 问题 从而运用所学知识解决实际问题的能力 实验环境实验环境 Window 2000 及以上 c free 所有版本 Turbo2 0 实验的任务要求实验的任务要求 任务 任务 能够按照指数降序排列建立并输出多项式 能够完成两个多项式的相加 相减 并将结果输入 要求 要求 1 完成需求分析 2 画框架图 3 编写算法 4 用 C 语言编写程序 5 调试 学习好帮手 2 2 需求分析 需求分析 建立一元多项式并按照指数降序排列输出多项式 将一元多项式输入并存储 在内存中 能够完成两个多项式的加减运算并输出结果 3 3 概要设计概要设计 存储结构 存储结构 一元多项式的表示在计算机内可以用链表来表示 为了节省存储空间 只存 储多项式中系数非零的项 链表中的每一个结点存放多项式的一个系数非零项 它包含三个 域 分别存放该项的系数 指数以及指向下一个多项式项结点的指针 创建一元多项式链表 对一元多项式的运算中会出现的各种可能情况进行分析 实现一元多项式的相加 相减操作 基本算法分析与设计 基本算法分析与设计 1 程序的基本功能 1 创建两个一元多项式 2 两个多项式相加 得到一个新的多项式 可以按指数选择排序方式 3 两个多项式相减 得到一个新的多项式 可以按指数选择排序方式 4 退出 学习好帮手 2 系统总框图 菜 单退 出 主 函 数 各功能函数链表结构按指数降序输出 3 定义的函数及说明 compare term a term 比较指数 arrange polynomail pa 由大到小排序 print polynomail P 输出多项式 求项数 creat polynomail P int m 创建并初始化多项式链表 add polynomail pa polynomail pb 两多项式相加 sub polynomail pa polynomail pb 两多项式相减 学习好帮手 4 4 详细设计详细设计 1 由大到小排序由大到小排序 void arrange polynomail pa polynomail h pa p q r if pa NULL exit 2 for p pa p next NULL p p next r p for h pa h next r 小的沉底 for p h p next rp p next if compare p next next data p next data 1 q p next next p next next q next q next p next p next q r p 2 两多项式相加两多项式相加 polynomail add polynomail pa polynomail pb polynomail s newp q p r int j p pa next q pb next newp LNode malloc sizeof LNode r newp while p switch compare p data q data case 1 s data coef p data coef s data expn p data expn r next s r s p p next break case 0 s data coef p data coef q data coef 学习好帮手 if s data coef 0 0 s data expn p data expn r next s r s p p next q q next break case 1 s data coef q data coef s data expn q data expn r next s r s q q next break switch while while p s LNode malloc sizeof LNode s data coef p data coef s data expn p data expn r next s r s p p next while q s LNode malloc sizeof LNode s data coef q data coef s data expn q data expn r next s r s q q next r next NULL for q newp next q next NULL q q next for p q p NULLp p next if q data expn p next data expn q data coef q data coef p next data coef r p next p next p next next free r arrange newp 学习好帮手 return newp 3两多项式相减两多项式相减 polynomail sub polynomail pa polynomail pb polynomail s newp q p r Q int j p pa next q pb next newp LNode malloc sizeof LNode r newp while p switch compare p data q data case 1 s data coef p data coef s data expn p data expn r next s r s p p next break case 0 s data coef p data coef q data coef if s data coef 0 0 s data expn p data expn r next s r s p p next q q next break case 1 s data coef q data coef s data expn q data expn r next s r s q q next break switch while while p s LNode malloc sizeof LNode s data coef p data coef s data expn p data expn 学习好帮手 r next s r s p p next while q s LNode malloc sizeof LNode s data coef q data coef s data expn q data expn r next s r s q q next r next NULL if newp next NULLq NULL q q next for p q next r q p NULL if q data expn p data expn q data coef q data coef p data coef r next p next Q p p p next free Q else r r next p p next arrange newp return newp 学习好帮手 5 5 测试结果测试结果 1 主菜单主菜单 2 输入两个多项式输入两个多项式 学习好帮手 3 将两多项式进行加减 并退出界面将两多项式进行加减 并退出界面 结果表示程序可行 6 6 调试分析调试分析 本次实验程序少 功能也存在不足 1 当在菜单界面 要选择操作时 不选菜单中的操作代号 程序只叫你再次选择 但不会 出现字幕提示 2 准确的说只能实现两个功能就是加减 降次输出是默认 所以本程序只是实现了任务要 求 没有考虑到在此基础上拓展功能 解决之道 深入学习编程语言 多研读别人写的好的程序 同时多看书 7 7 设计体会设计体会 1 经过这次课程设计 我对数据结构这门课程有了进一步的理解 对 C 编程 有了一定的提高 另外也提高了我分析问题 解决问题 从而运用所学知识解决 实际问题的能力 学习好帮手 2 通过这次课程设计 我发现了自己平时学数据结构这门课还有很多没有注 意到的地方 虽然说这次的课题顺利完成了 但我对数据结构这门课的学习还没 有完成 以后还必须对数据结构进行复习巩固 3 以前在数据结构这门课上 我学到的仅仅是理论知识 但这次的课程设计 让我感受到课上的东西用到实际问题的难处 在今后对计算机方面知识的学习中 我要注意理论联系实际 这样才可以把学到的东西运用出来 真正的做到学以致 用 8 8 结束语结束语 感谢我的数据结构老师董跃华在以往的基础课学习中为我打下良好的基础 这是我这次课程设计能够顺利完成的前提 感谢学校能够给我们提供这么好的机房 使我有地方上网查资料 能够有地 方做这次课程设计 我也很感谢我的同学 我完成我的程序之后 请他们帮我调试 提了不少宝 贵的意见 使我的程序有了进一步的完善 9 9 参考文献参考文献 1 谭浩强 C 语言程序设计 第三版 清华大学出版社 2 严慰敏 数据结构 C 语言版 清华大学出版社 学习好帮手 10 10 附录附录 include include typedef struct float coef 系数 int expn 指数 term typedef struct LNode term data struct LNode next LNode LinkList typedef LinkList polynomail int compare term a term b if a expn b expn return 1 if a expn b expn return 0 if a expnnext NULL p p next r p for h pa h next r for p h p next rp p next if compare p next next data p next data 1 q p next next p next next q next q next p next p next q 学习好帮手 r p int print polynomail P int i polynomail q if P NULL printf 无项 n else if P next NULL printf Y 0 n else printf 该多项式为 Y q P next i 1 if q data coef 0 i if q data expn 0 q q next if q NULL printf n return 1 while 1 if q data coef 0 printf 2fX d q data coef q data expn i if q data expn 0 printf f q data coef q q next if q NULL printf n break return 1 polynomail creat polynomail P int m polynomail r q p s Q int i P LNode malloc sizeof LNode r P 学习好帮手 for i 0 idata coef r next s r s r next NULL if P next next NULL for q P next q NULL q q next for p q next r q p NULL if q data expn p data expn q data coef q data coef p data coef r next p next Q p p p next free Q else r r next p p next return P polynomail add polynomail pa polynomail pb polynomail s newp q p r int j p pa next q pb next newp LNode malloc sizeof LNode r newp while p switch compare p data q data case 1 s data coef p data coef s data expn p data expn r next s r s p p next break case 0 s data coef p data coef q data coef if s data coef 0 0 学习好帮手 s data expn p data expn r next s r s p p next q q next break case 1 s data coef q data coef s data expn q data expn r next s r s q q next break while p s LNode malloc sizeof LNode s data coef p data coef s data expn p data expn r next s r s p p next while q s LNode malloc sizeof LNode s data coef q data coef s data expn q data expn r next s r s q q next r next NULL for q newp next q next NULL q q next for p q p NULLp p next if q data expn p next data expn q data coef q data coef p next data coef r p next p next p next next free r arrange newp return newp 学习好帮手 polynomail sub polynomail pa polynomail pb polynomail s newp q p r Q int j p pa next q pb next newp LNode malloc sizeof LNode r newp while p switch compare p data q data case 1 s data coef p data coef s data expn p data expn r next s r s p p next break case 0 s data coef p data coef q data coef if s data coef 0 0 s data expn p data expn r next s r s p p next q q next break case 1 s data coef q data coef s data expn q data expn r next s r s q q next break switch while while p s LNode malloc sizeof LNode s data coef p data coef s data expn p data expn r next s r s p p next while q 学习好帮手 s LNode malloc sizeof LNode s data coef q data coef s data expn q data expn r next s r s q q next r next NULL if newp next NULLq NULL q q next for p q next r q p NULL if q data expn p data expn q data coef q data coef p data coef r next p next Q p p p next free Q else r r next p p next arrange newp return newp void main polynomail pa NULL pb NULL polynomail p q polynomail addp NULL subp NULL int n m int sign y printf n printf 菜 单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 制造业2025年数据治理与工业大数据挖掘与分析策略报告
- 文化遗产数字化展示与传播策略报告:2025年文化遗址数字化展示的标准化研究
- 养老机构在医养结合模式下的运营策略优化方案报告
- 2026年新能源汽车环保标准及认证研究报告
- 热力设备安装与调试实施方案
- 废塑料加工项目风险评估报告
- 工业互联网平台数据备份策略在智能制造中的应用分析报告
- 医药企业研发外包(CRO)模式在药物研发过程中的全球临床试验法规遵循挑战报告
- 第四章 第三节 降水的变化与差异说课稿2025-2026学年商务星球版七年级地理上册
- 2025年工业互联网平台IPv6技术升级下的工业互联网平台商业模式创新报告
- 急性食物中毒抢救护理常规
- 运动障碍康复护理课件
- 2025年屏山炒青茶市场分析报告
- 四川成都历年中考作文题与审题指导(2005-2024)
- 单位保密知识培训课件
- 《铁在人体中的作用》课件
- 二年级上册道德与法治第一单元《团团圆圆过中秋》作业设计
- 酒店蔬菜供货合同模板
- 【青松雪】几何最值36问-解析版
- 《海底隧道技术讲义》课件
- MOOC 耕作学-沈阳农业大学 中国大学慕课答案
评论
0/150
提交评论