数据结构课程设计:一元计算器

数据结构课程设计:一元计算器

ID:44509523

大小:385.71 KB

页数:13页

时间:2019-10-22

数据结构课程设计:一元计算器_第1页
数据结构课程设计:一元计算器_第2页
数据结构课程设计:一元计算器_第3页
数据结构课程设计:一元计算器_第4页
数据结构课程设计:一元计算器_第5页
资源描述:

《数据结构课程设计:一元计算器》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、扬州大学信息工程学院《数据结构》―课程设计报告题目:多项式计算器班级:计科1101学号:111705104姓名:陈明通指导教师:王丽爱一、课程设计目的3二、设计内容3二、总体设计4四、详细设计4五、程序调试8六、设计总结11一、课程设计的目的课程设计是《数据结构》必不可缺的一个重要环节,它可加深我们对该课程所学内容的进一步的理解与巩固,是将计算机课程与实际问题相联接的关键步骤。通过课程设计,能够提高学牛分析问题、解决问题,从而运用所学知识解决实际问题的能力,通过课程设计将C语言与数据结构结合在一起实际应

2、用。二、设计内容设计i个稀疏多项式简单计算器设计要求:♦输入并分别建立多项式A和B♦输入输出多项式,输出形式为整数序列:n,cl,el,c2,e2……,•其中n是多项式的项数,ci和"是第i项的系数和指数,♦序列按指数降序排列完成两个多项式的相加、相减、相乘,并将多项式结果输出【问题描述】设计一个稀疏多项式简单计算器。川户输入两个多项式的项数、系数与指数,计算加减乘除等的结果。【功能设计】提示用户输入两个多项式A和B,输入形式为:♦先输入多项式A的项数,♦回车,♦输入多项式A第一项的系数,每一项按照先输

3、入系数,♦空格或冋车;♦输入多项式A第一项的指数,♦继续输入多项式A的其他项,输入方式与上同;♦再建立多项式B,数据输入方式与建立多项式A相同。两个多项式建立完毕后,再选择以下功能进行相应的运算。1.输出多项式A和B2.计算多项式A+B3.计算多项式4.计算多项式A*B5.重新创建多项式6.退出【数据结构】typcdcfstmctPolynomial{floatcoef;intexp;Polynomial*next;}*Polyn;voidPrintPolyn(PolynP);〃结点类型〃系数〃指数//

4、Polyn为结点指针类型〃输出多项式voidInsert(Polynp,Polynhead);PolynCreatePolyn(Polynhead,intm);voidDestroyPolyn(Polynp);intcompare(Polyna,Polynb);PolynAddPolyn(Polynpa,Polynpb);PolynSubPolyn(Polynpa,Polynpb);PolynMultiplyPolyn(Polynpa,Polynpb);三.总'体设计〃插入结点〃创建多项式〃销毁多项式〃

5、多项式指数比较〃加法〃减法〃乘法图1系统功能模块图四、详细设计【结点结构】coefexpnext图2结点结构图coef:系数域,存放非零项的系数;exp:指数域,存放非零项的指数;next:指针域,存放只想下一结点的指针。【多项式的链接表示】多项式的项采用单链表存储,每一个非零项对应单链表的一•个结点,且单链表按照指数递减有序排列多项式的逻辑结构:视为线性表p(x)=3xl4-8x8+6x2+2多项式的存储表示p(x)=3xl4-8x8+6x2+2((3,14),(-8,8),(6,2),(2,0))<

6、a>空多厦式十冋御4罔8

7、十

8、6

9、2

10、玉

11、2

12、0p(x)=3x14-8xB+6x2+2王空多攻式图3多项式的链表表示【采用带头结点的单链表】设两个工作指针pa和pb,分别指向两个单链表的开始结点,两个多项式求和实际上是对结点pa的指数域和结点pb的指数域进行比较,这会出现下列三种情况:(1)若pa->expexp,贝0结点pa应为结点中的一个结点,将指针pa后移;(2)若pa->exp>pb->exp,则结点pb应为结点中的一个结点,将pb插入到第一个单链表中结点、paZ前,再将指针pb

13、后移;(3)若pa->exp=pb->exp,则pa与pb所指为同类项,将pb的系数加到pa的系数匕,若相加结果不为0,则将指针pa后移,删除结点pb,若相加结果为0,则表明结果中无此项,删除结点“和结点pb,并将指针pa和指针pb分别后移。【算法设计】1.工作指针pa、pb初始化;2.While(pa存在Hpb存在)执行下列三种情形之一(1)如果pa->cxpcxp,则指针pa后移;(2)如果pa->cxp>pb->cxp,贝I」①将结点pb插入到结点paZ前;②指针pb指向原指针结点的F—

14、个结点;(3)如杲pa->exp=pb->exp,则①pa->coef=pa->coef+pb->coef:②如果pa->coef=0,则执行下列操作,否则,指针pa后移;(i)删除结点pa;(ii)使指针pa指向它原指针结点的下一个结点;③删除结点pb;④使指针pb指向它原指针结点的下一个结点;3.如果pb不为空,将结点pb琏接在第一个单链表的后而;表一算法设计简析【多项式相加】8-62L一0-1十314<4^-886220-T⑷3汕・8

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。