多项式计算 C语言编程

题目二 多项式计算
1. 设计要求:
具备一元多项式加、减、乘的运算功能。(多项式系数的输入和输出均按次数从高到低排列形式安排系数。最右面的为零次项系数,从右向左依次增加。)
例如:多项式加法
输入: 2 -5 0 7 (表示多项式 2x3-5x2+7)
3 1 -8 (表示多项式 3x2+x-8)
输出 2 -2 1 -1
(2x3-5x2+7)+( 3x2+x-8)= 2x3-2x2+x-1
输入的数据项数是不定长的,最多不超过10项,用菜单让用户选择运算类别。
菜单格式如下:
多项式计算
1. 多项式加法
2. 多项式减法
3. 多项式乘法
0. 退出
2. 提高水平
增加一元多项式相除的运算功能。其中”除”运算结果用商式和余式表示,即f(x)和g(x) 相除,存在商式q(x)和余式r(x) 使 f(x)= g(x) * q(x) + r(x)。

3. 提示:
每个多项式的系数分别用一维数组存放,这样可以简化算法。每种运算用函数实现。
跪求高手指导- -

这个其实很简单,需要3个数组(暂时考虑int数组),长度都是10,分别保存多项式1、2和计算结果。初始化为全0。输入就按照你的假设吧。输入后三个数组分别为:
多项式1:[7, 0, -5, 2, 0, 0, 0, 0, 0, 0](x的0次幂系数是7,x的1次幂系数是2,以此类推,下同)
多项式2:[-8, 1, 3, 0, 0, 0, 0, 0, 0, 0]
计算结果:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0](还没算呢,当然都是0)

加法减法很好算,不赘述。乘法怎么算呢,你按照真实的数学计算步骤推一遍就知道了,你会把3x2、x、-8分别乘以2x3-5x2+7,最后把结果加起来。转换到程序中,就是把若干个数组加起来:
[-56, 0, 40, -16, 0, 0, 0, 0, 0, 0]
[0, 7, 0, -5, 2, 0, 0, 0, 0, 0]
[0, 0, 21, 0, -15, 6, 0, 0, 0, 0]

加起来就可以了。

至于提高水平,这个题目出得不好,因为多项式相除结果不唯一。比如说2x2 + 1除以x2 + 1,你可以说2x2 + 1 = 2(x2 + 1) - 1,也可以说2x2 + 1 = 1(x2 + 1) + x2。这样的题目数学上就意义不大,用程序去实现也达不到锻炼水平的作用。也许我理解有误?
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网