首页 > 代码库 > 一元多项式的表示及相加
一元多项式的表示及相加
1 #include <iostream> 2 #include<stdlib.h> 3 4 using namespace std; 5 6 typedef struct LNode 7 { 8 int coef;//系数 9 int expn;//指数 10 struct LNode *next; 11 }LNode,*LinkList; 12 13 14 int CreateList_L(LinkList &L,int n) 15 { 16 LinkList p,q; 17 for(int i=0;i<n;i++) 18 { 19 p=(LinkList)malloc(sizeof(LNode)); 20 cout<<"输入元素系数:"; 21 cin>>p->coef; 22 cout<<"输入元素指数:"; 23 cin>>p->expn; 24 if(i==0)L=p; 25 else q->next=p; 26 q=p; 27 p->next=NULL; 28 } 29 return 0; 30 } 31 32 33 int Display_L(LinkList L) 34 { 35 cout<<"f(x)="<<L->coef; 36 if(L->expn)cout<<"*"<<"x^"<<L->expn; 37 L=L->next; 38 while(L) 39 { 40 if(L->coef>0) 41 { 42 cout<<"+"; 43 cout<<L->coef<<"*"<<"x^"<<L->expn; 44 } 45 else cout<<L->coef<<"*"<<"x^"<<L->expn; 46 L=L->next; 47 } 48 return 0; 49 } 50 51 52 int AddPolyn(LinkList &La,LinkList &Lb,LinkList &Lc) 53 { 54 LinkList pa,pb,p; 55 int k=1; 56 pa=La;pb=Lb; 57 while(k)//确定“和多项式”的头结点 58 { 59 if(pa->expn<pb->expn){p=Lc=pa;pa=pa->next;k=0;} 60 else if(pa->expn>pb->expn){p=Lc=pb;pb=pb->next;k=0;} 61 else 62 { 63 pa->coef+=pb->coef; 64 if(pa->coef) 65 { 66 p=Lc=pa; 67 pa=pa->next; 68 k=0; 69 } 70 else 71 { 72 pa=pa->next; 73 pb=pb->next; 74 } 75 } 76 } 77 78 79 while(pa&&pb) 80 { 81 if(pa->expn<pb->expn){p->next=pa;p=pa;pa=pa->next;} 82 else if(pa->expn>pb->expn){p->next=pb;p=pb;pb=pb->next;} 83 else 84 { 85 pa->coef+=pb->coef; 86 if(pa->coef) 87 { 88 p->next=pa; 89 p=pa; 90 pa=pa->next; 91 pb=pb->next; 92 } 93 else 94 { 95 pa=pa->next; 96 pb=pb->next; 97 } 98 99 }100 }101 while(!pb&&pa)102 {103 p->next=pa;104 p=pa;105 pa=pa->next;106 }107 while(!pa&&pb)108 {109 p->next=pb;110 p=pb;111 pb=pb->next;112 }113 return 0;114 }115 116 117 118 int main()119 {120 LinkList La,Lb,Lc;121 int m,n;122 cout<<"请输入La中的元素个数:";123 cin>>m;124 CreateList_L(La,m);125 cout<<"请输入Lb中的元素个数:";126 cin>>n;127 CreateList_L(Lb,n);128 AddPolyn(La,Lb,Lc);129 Display_L(Lc);130 return 0;131 }
一元多项式的表示及相加
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。