课程设计报告1
需求分析[问题描述]设计一个一元稀疏多项式简单计算器
[基本要求]一元稀疏多项式基本功能包括:1)输入并建立多项式;2)输出多项式,输出形式为整数序列:n, c1, e1, c2, e2, … ,, en,其中 n 是多项式的项数,ci和 ei分别是第 i 项的系数和指数,序列按指数降序排列;3)多项式 a 和 b 相加,建立多项式 a+b;4)多项式 a 和 b 相减,建立多项式 a-b;[测试数据]1)(2x+5x8-3
1x11)+(11x9-5x8+7)=(-3
1x11+11x8+2x+7)2)(-1
2x9+6x-3+4
4x2-x)-(7
8x15+4
4x2-6x-3)=(-7
8x15-1
2x9+12x-3-x)3)(x5+x4+x3+x2+x+1)-(-x4-x3)=(x5+x2+x+1)4)(x3+x)-(-x3-x)=05)(x100+x)+(x200+x100)=(x200+2x100+x)6)(x3+x2+x)+0=x3+x2+x7)互换上述测试数据中的前后两个多项式
概要设计ADT Polynomial{数据对象:D={ai|aiTermSet, i=1,2,…,m,m≥0,TermSet中的每个元素包含一个表示系数的实数和表示指数的整数}数据对象:R1={|ai,ai-1D ,且 ai-1 中的指数值小于 ai 中的指数,i=2,…,m}基本操作:CreatePolyn(void)Result: 指数由大到小输入 m 项的系数和指数,建立一元多项式 pPrintPoly(LNode Head)Result: 输出一元多项式AddPoly(LNode H1,LNode H2) Condition: 一元多项式 pa,pb 已存在Result: 完成多项式相加运算,即 pa=pa+pb,并销毁一元多项式 pb