如何用C语言实现两个一元多项式的相加和相乘?

如题所述

没有别的好办法,你看这样行不行,不行你自己再想想吧
#include
void
main()
{
int
a1,b1,c1,d1,e1,f1,a2,b2,c2,d2,e2,f2;
printf("ax^5+bx^4+cx^3+dx^2+ex+f=0\n");
printf("请输入:a
b
c
d
e
f\n");
printf("第一个:");
scanf("%d%d%d%d%d%d",&a1,&b1,&c1,&d1,&e1,&f1);
printf("第二个:");
scanf("%d%d%d%d%d%d",&a2,&b2,&c2,&d2,&e2,&f2);
printf("两式相加后得:\n");
printf("%dx^5+%dx^4+%dx^3+%dx^2+%dx+%d=0\n",a1+a2,b1+b2,c1+c2,d1+d2,e1+e2,f1+f2);
}
由于变量太多!输出时要注意哦
希望回答对你有帮助!
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-04-29
可以啊,
你可以把x的0次方
,1次方.....的序数数都放到一个数组里面,比如乘法,有a[n],b[m]两个序数的表达式
c[n*m]放的是结果
则c[i*j]=a[i]*b[j],加法就比较简单了,就只要c[i]=a[i]+b[i]
感觉我说的有人看不懂了,不好意思,表达差点本回答被提问者采纳

C语言:用单链表实现任意两个一元多项式的加、减法运算
typedef enum { add, nul, sub, div1, yu, l, r }OP;int a[N][N] = { { 0, 0, -1, -1, -1, 1, 2 },{ 0, 0, -1, -1, -1, 1, 2 },{ 1, 1, 0, 0, 0, 1, 2 },{ 1, 1, 0, 0, 0, 1, 2 },{ 1, 1, 0, 0, 0, 1, 2 },}...

用C++编写求两个一元多项式相乘的算法
P1(X) = X^2 + 2X + 3 以及 P2(X) = 3X^3 + 10X + 6 现在运用中学的基础知识,计算它们的和:P1(X) + P2(X) = (X^2 + 2X + 3) + (3X^3 + 10X + 6)= 3X^3 + 1X^2 + 12X^1 + 9 以及计算它们的乘积:P1(X) * P2(X) = (X^2 + 2X + 3) * (3X^3 ...

[内附完整源码和文档] 基于C语言实现的一元多项式的计算
一、概述 通过C语言使用链式存储结构实现一元多项式加法、减法和乘法的运算。按指数降序排列。二、需求分析 建立一元多项式并按照指数降序排列输出多项式,将一元多项式输入并存储在内存中,能够完成两个多项式的加减运算并输出结果。三、概要设计 3.1 存储结构 一元多项式的表示在计算机内可以用链...

设计一个一元多项式计算器,输入输出,多项式相加(C语言)
}\/\/以上为将第二个多项式建立成链表 t1=h1=head;t2=tou;\/\/t1,t2分别指向当前结点,h1起辅助作用,第二个链表我们不要,所以可以用tou做辅助作用 while(t1&&t2)\/\/当前结点都不为空 { if(t1->expn<t2->expn)\/\/第一个链表的当前位置的指数小于第二个链表 { h1=t1;t1=t1->next;} else if...

C语言写多项式相加怎么写?求解
调用AddPolyn()函数实现两多项式的加法,将结果存储在第三个链表中。最后,打印相加结果并暂停程序执行。总结,通过定义链表节点结构并实现创建、打印、加法、删除和插入操作的函数,我们可以用C语言解决多项式相加的问题。程序结构清晰,易于理解。上述步骤展示了如何使用C语言实现多项式加法操作。

用C语言实现数据结构的题目:一元多项式相加
struct poly *jisuan(struct poly *head1,struct poly *head2) \/\/多项式的相加 { struct poly *p1,*p2,*r1,*r2;r1=head1;p1=head1->next;r2=p2=head2->next;while(p1&&p2){ if(p1->zhi==p2->zhi){ p1->xi=(p1->xi)+(p2->xi);p2=p2->next;free(r2);r2=p2;r1=p1;p1=...

C语言怎么实现求多项式的和?
解决这个问题的方法如下:1、首先使用新建一个工程和.c文件。2、然后输入头文件#include和主函数void main()。3、输入后就要定义变量类型并且初始化。4、然后使用for语言求和。5、输入后再进行输出。6、最后可以看到编译正常运行,这样问题就解决了。

用C语言实现一元多项式相乘
for( l=2*w;l>=0;l--){ printf("%dX^%d + ",shi[l],l);} printf("0\\n");} int main(){ int i,j,k,m;int x[20];int y[20];printf("请输入一元N次多项式的N:");scanf("%d",&i);for(j=0;j<=i;j++){ printf("P(x) %d次项系数:",j);scanf("%d",&x[...

如何用C语言实现多项式的加法和乘法
X2+1可以表示为2,0,Xn+X(n-1)+...+1即n,n-1,...0 所有的指数建议按大小排序,可以在单链表插入时进行。加法,可以新建一个链表C做为结果,把链表A的内容复制到C,然后把另一个链表B中的每一项插入C,如果要插入的项已存在,则不插入并且删除这个结点。乘法,新建一个链表C作为结果,要...

高分求助C++代码解释
先说原理 两个一元多项式:A:a1x^n+a2x^(n-1)+...+anx+a(n+1)(a1,a2等等后面的数字表示下标,x^n表示x的n次幂。下同)B:b1x^m+b2x^(m-1)+...+bmx+b(m+1)它们相加,你只需要将指数相同的2项的系数相加,指数不变。比如3x^3+5x^3,它们的指数相同,根据刚刚说的系数相加指数...

相似回答