第四周 專案6 多項式求和

2021-07-23 01:48:03 字數 2082 閱讀 6882

問題:

[cpp]view plain

copy

/*       

檔名稱:第4周專案6--多項式求和.cpp       

作    者:陳曉琳       

完成日期:2023年9月23日       

版 本 號:v1.0       

問題描述:用單鏈表儲存一元多項式,並實現兩個多項式的加法。 

輸入描述:若干資料。 

程式輸出:多項式a,多項式b,有序多項式a,b,相加後的多項式。 */

**:[cpp]view plain

copy

#include 

#include 

#define max 20          //多項式最多項數

typedef

struct

//定義存放多項式的陣列型別

polyarray;  

typedef

struct

pnode    

//定義單鏈表結點型別,儲存多項式中的一項,鍊錶構成多項式

polynode;  

void

disppoly(polynode *l)  

//輸出多項式

printf("\n"

);  

}  void

destroylist(polynode *&l)  

//銷毀單鏈表

free(p);  

}  void

createlistr(polynode *&l, polyarray a, 

intn) 

//尾插法建表

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;  

}  int

main()  

,,,};  

polyarray b= ,,,,};  

createlistr(ha,a,4);  

createlistr(hb,b,5);  

printf("原多項式a:   "

);  

disppoly(ha);  

printf("原多項式b:   "

);  

disppoly(hb);  

sort(ha);  

sort(hb);  

printf("有序多項式a: "

);  

disppoly(ha);  

printf("有序多項式b: "

);  

disppoly(hb);  

add(ha,hb,hc);  

printf("多項式相加:  "

);  

disppoly(hc);  

destroylist(ha);  

destroylist(hb);  

destroylist(hc);  

return

0;  

}  

執行結果:

知識點總結:

鍊錶的應用。

學習心得:

不太好理解,需要仔細看**。

第四周專案6 多項式求和

問題及 檔名稱 多項式求和.cpp 作 者 杜文文 完成日期 2015年 10月 11日 問題描述 用單鏈表儲存一元多項式,並實現兩個多項式的加法。1 儲存多項式的資料結構 多項式的通式是p n x a n x n a n 1 x n 1 a 1 x a 0 n次多項式共有n 1項。直觀地,可以定義...

第四周專案6 多項式求和

檔名稱 test.cpp 完成日期 2015年10月12日 版本號 vc 6.0 問題描述 用單鏈表儲存一元多項式,並實現兩個多項式的加法。include include define max 20 多項式最多項數 typedef struct 定義存放多項式的陣列型別 polyarray type...

第四周專案6 多項式求和

煙台大學計算機與控制工程學院 問題描述 用單鏈表儲存一元多項式,並實現兩個多項式的加法 輸入描述 無 輸出描述 include include define max 20 多項式最多項數 typedef struct 定義存放多項式的陣列型別 polyarray typedef struct pno...