一元多项式的计算数据结构课程设计报告.doc

一元多项式的计算数据结构课程设计报告.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程 设计报告 一元多项式的计算 ——主要用到的结构是链表 班 级: 软件092班 姓 名: 指导教师: 成 绩: 信息工程学院 年 月 日 摘要 本次试验依据江西理工大学09级数据结构实验要求,较完善的对题目进行了分析,理解和编程,程序思路清晰,考虑全面。 对于此题,应该使用链式存储结构存储多项式的信息,并根据算法用C语言编程。 同时在本书的后面附带了一部分程序源码和对程序的同步解释,为了更直观的对程序的理解,该书还运用了框架图,使读者能够更好地认识程序。 在用C语言编程的时候,要用到的语句主要有函数调用语句,判断语句,输入和输出语句等。 关键词:一元多项式 线性表 指数 目 录 1.引言 - 4 - 2.需求分析: - 5 - 3.概要设计 - 5 - 4.详细设计 - 7 - 1.由大到小排序 - 7 - 2两多项式相加 - 7 - 3两多项式相减 - 9 - 5测试结果 - 11 - 1主菜单 - 11 - 2输入两个多项式 - 11 - 3将两多项式进行加减,并退出界面 - 12 - 6.调试分析 - 12 - 7.设计体会 - 12 - 8.结束语 - 13 - 9.参考文献 - 13 - 10.附录 - 13 - 一元多项式的计算 1.引言 本次课程设计的目的:是对数据结构所学内容的进一步的理解与巩固,是将计算机课程与实际问题相联接的关键步骤。通过课程设计,能够提高分析问题、解决问题,从而运用所学知识解决实际问题的能力。 实验环境:Window 2000及以上,c-free所有版本,Turbo2.0 实验的任务要求: 任务: 能够按照指数降序排列建立并输出多项式; 能够完成两个多项式的相加、相减,并将结果输入 要求: 完成需求分析 画框架图 编写算法 用C语言编写程序 调试 2.需求分析: 建立一元多项式并按照指数降序排列输出多项式,将一元多项式输入并存储在内存中,能够完成两个多项式的加减运算并输出结果 3.概要设计 存储结构:一元多项式的表示在计算机内可以用链表来表示,为了节省存储空间,只存储多项式中系数非零的项。链表中的每一个结点存放多项式的一个系数非零项,它包含三个域,分别存放该项的系数、指数以及指向下一个多项式项结点的指针。创建一元多项式链表,对一元多项式的运算中会出现的各种可能情况进行分析,实现一元多项式的相加、相减操作。 基本算法分析与设计: 1.程序的基本功能: (1) 创建两个一元多项式 (2) 两个多项式相加,(3) 两个多项式相减,.系统总框图 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.详细设计 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!=r;p=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(pq) { s=(LNode*)malloc(sizeof(

文档评论(0)

y20062146 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档