多项式的次数怎么求呀

多项式的次数怎么求呀,第1张

就是各项中次数最高的
比如xy+2x²y³+3x
那次数最高的项就是2x²y³,次数是2+3=5
所以这个多项式的次数就是5
^这个符号就是计算机上用来表示指数的
比如x^3就表示x的3次方
计算器上也有这种表示方法

#include<stdioh>//两个多项式也就是两个链表,相加后的链表我们不重新建立,而是在第一个链表的基础上,增加和删除,得到相加后的链表。

#include<malloch>

typedef struct node

{

float cofe;//系数

int expn;//指数

struct node next;

}node,tie;

#define LEN sizeof(node)

int main()

{

int n,m;//n表示第一个多项式的项的个数,m表示第二个多项式的项的个数

while((scanf("%d%d",&n,&m))!=EOF)

{

tie p1,p2,head,tou,t1,t2,h1;

head=NULL;

p1=(tie)malloc(LEN);

p1->next=head;

scanf("%f%d",&p1->cofe,&p1->expn);//输入系数和指数

p2=head=p1;

for(int i=1;i<n;i++)

{

p1=(tie)malloc(LEN);

scanf("%f%d",&p1->cofe,&p1->expn);

p1->next=NULL;

p2->next=p1;

p2=p1;

}//以上为将第一个多项式建立成链表

tou=NULL;

p1=(tie)malloc(LEN);

p1->next=tou;

scanf("%f%d",&p1->cofe,&p1->expn);//输入系数和指数

p2=tou=p1;

for( i=1;i<m;i++)

{

p1=(tie)malloc(LEN);

scanf("%f%d",&p1->cofe,&p1->expn);

p1->next=NULL;

p2->next=p1;

p2=p1;

}//以上为将第二个多项式建立成链表

t1=h1=head;

t2=tou;//t1,t2分别指向当前结点,h1起辅助作用,第二个链表我们不要,所以可以用tou做辅助作用

while(t1&&t2)//当前结点都不为空

{

if(t1->expn<t2->expn)//第一个链表的当前位置的指数小于第二个链表

{

h1=t1;

t1=t1->next;

}

else if(t1->expn>t2->expn)//第一个链表的当前位置的指数大于第二个链表

{

if(t1==head)//在第一个链表的头前插入元素

{

head=t2;

t2=t2->next;

tou->next=t1;

tou=t2;

}

else

{

tou=t2;

t2=t2->next;

tou->next=t1;

h1->next=tou;

h1=tou;

}

}

else if(t1->expn==t2->expn)//第一个链表的当前位置的指数等于第二个链表

{

float sum=t1->cofe+t2->cofe;

if(sum==0)

{

tou=t2;

t2=t2->next;

h1->next=t1->next;

t1=t1->next;

}

else

{

t1->cofe=sum;

h1=t1;

t1=t1->next;

tou=t2;

t2=t2->next;

}

}

}

if(t1==NULL)//第一个链表已结束,将第二个链表加到第一个链表末尾

 h1->next=t2;

tie p3;//将相加后的链表打印出来

p3=head;

while(p3!=NULL)

{

if(p3->cofe<0)

printf("%fx^%d",p3->cofe,p3->expn);

else

printf("+%fx^%d",p3->cofe,p3->expn);

p3=p3->next;

}

}

}

例如:

3x^2+4x^3+5x^5

x+2x^4+6x^5

此题的思路就是:将两个按指数增长顺序的两个链表,假设指针t1,t2分别指向多项式A和B中当前进行比较的某个结点,比较这两个结点中的指针项,有三种情况:1指针t1的指针值<指针t2的指针值,此时将t1向后移;2指针t1的指针值>指针t2的指针值,此时将t2的结点加入t1的链表;3当二者相等时,应判断系数的是否为0


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/12959494.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存