C语言课程设计任务书 联系客服

发布时间 : 星期日 文章C语言课程设计任务书更新完毕开始阅读

(6)一元多项式的减法计算

它从两个多项式的头部开始, 两个多项式的某一项都不为空时, 如果 数相等的话,系数就应该相减;相加的和不为 0 的话,用头插法建立 一个新的节点。 p 的指数小于 q 的指数的话,就应该复制 q 节点到多 项式中。p 的指数大于 q 的指数的话, 就应该复制 p 节点到多形式中。 并且建立的节点的系数为原来的相反数; 当第二个多项式为空时, 第 一个多项式不为空时, 将第一个多项式用心节点产生。 当第一个多项 式为空,第二个多项式不为空时,将第二个多项式用新节点产生,并 且建立的节点系数为原来的相反数。

数学模型:

在数学上,一个一元多项式 Pn(x) 可按升幂写成 :

Pn(x)=p +p1x+p2x

2+,, +p n

2+,,

0

n

x

n

+p

它由 n+1个系数唯一确定, 因此,在计算机中它可用一个线性表 P来 表示:

P=(p0 ,p 1,p 2, ,,

,p )

n

每一项的指数 i 隐含在其系数 Pi 的序号里,每一项的值顺序为各个 多项式的系数值。

加法模型:

假设 Qm(X)是一元 m次多项式,同样可用线性表 Q来表示:

Q=(q0,q 1,q 2, ,,

qm)

不失一般性,设 mm ,相加的结果也可以用单

- 8 -

链表来表示,规则是相同指数的项的系数相加,所以 (p0+q0,p 1+q1,,

pm+qm,pm+1,,

p

n),例如:

P(x)+Q(x)=

4+5x2+3x+1,Q(x)=3x 2+1, 相加后R(x)= 2x 4+8x2+3x+2,用一维 P(x)=2x

向量表表示分别为( 1,3,5,0,2)+(1,0,3 ,)=(2,3,8,0 ,2), 写成数学形式即为 2x

4+8x2+3x+2,结论正确。减法模型同加法模型。具体函数模块的流程图:

功能选择模块:

开始

指数系数 输入功能函数对应的数字

判断输入是否合法

通过 switch 判断返回哪 一个功能函数

调用该功能函数

结束

- 9 -

输入数据函数:

开始

输入各 项的指

调用输出函数

显示运行结果

结束

求和函数模块:

开始

定义存储结果的空链 r

存储多项式 1 的空 链 P 是否为空

存储多项式 2 的空 链 Q 是否为空

同指数项系数相加后存入

r 中

直接把 q 中各 项存入 r

直接把 p 中各 项存入 r 中

输出存储多项式的和的链 r

合并同类项

结束

- 10 -