第四周 專案5 多項式求和

2021-07-22 21:17:16 字數 1802 閱讀 2174

/*       

*檔名稱:多項式求和.cpp       

*作        者:林穎     

*完成日期:2023年9月19日             

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

*輸入描述:若干資料。 

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

#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, 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;  

}  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...