#include
#include
#include
#define max 20 //多項式最多項數
typedef struct //定義存放多項式的陣列型別
polyarray[max];
typedef struct pnode //定義單鏈表結點型別
polynode;
void disppoly(polynode *l) //輸出多項式
printf("/n");
}void createlistr(polynode * &l,polyarray a,int n) //尾插入法建表
r->next=null; //將終端結點next域置為null
}void sort(polynode * &head) //按exp域的值遞減排序}}
void add(polynode *ha,polynode *hb,polynode *&hc)//求兩個有序表的並
else if(pa->expexp)
else //pa->exp=pb->exp時
pa=pa->next;
pb=pb->next;} }
if(pb!=null) //複製餘下結點
pa=pb;
while(pa!=null)
tc->next=null;
} void subs(polynode *ha,polynode *hb,polynode *&hc) //求兩個有序表的差
else if(pa->expexp)
else //pa->exp=pb->exp時
pa=pa->next;
pb=pb->next;} }
if(pb!=null) //複製餘下結點
pa=pb;
while(pa!=null)
tc->next=null;
}void main()
printf("****************************************=/n");
createlistr(ha,a,m);
createlistr(hb,b,n);
printf("原來a序列為:/n");disppoly(ha);
printf("原來b序列為:/n");disppoly(hb);
printf("****************************************=/n");
sort(ha);
sort(hb);
printf("排序後a序列為:/n");disppoly(ha);
printf("排序後b序列為:/n");disppoly(hb);
printf("****************************************=/n");
add(ha,hb,hc);
printf("相加後:/n");disppoly(hc);
subs(ha,hb,hc);
printf("相減後:/n");disppoly(hc);
printf("***************程式執行完畢**********====/n");
}
一元多項式加法計算器
include include typedef struct polynode polynode,polylist 輸入資料,邊輸入邊排序進鍊表 void inputdataandsortingdata polylist polynomial,int n 初始化多項式鍊錶 void init pol...
2 一元多項式的加法
採用鍊錶的結構儲存一元多項式 那麼到底儲存什麼呢?存指數 係數 通過給鍊錶設定三個資料域,乙個指數域 乙個係數域 乙個指標域,這就可以表示一元多項式的一項了 然後讓鍊錶按照指數遞減的順序儲存 y 3x 5 4x 4 2x就是這個樣子的了 那麼怎麼求 y 3x 5 4x 4 x 3 2x 1 y 2x...
polynomial 一元多項式加法實現
polynomial 一元多項式加法實現 include stdio.h include malloc.h include stdlib.h typedef struct lnodelink,linklist linklist initlist link makenode linklist crea...