一元稀疏多項式的運算

2021-10-07 23:14:45 字數 2671 閱讀 3626

⑴ 輸入並建立多項式;

⑵ 輸出多項式,輸出形式為整數序列:n,c1,e1,c2,e2……cn,en,其中n是多項式的項數,ci,ei分別為第i項的係數和指數。所有輸出都按指數降序排列。

⑶ 多項式a和b相加,建立多項式a+b,輸出相加的多項式;

⑷ 多項式a和b相減,建立多項式a-b,輸出相減的多項式;

⑸ 多項式a和b相乘,建立多項式a×b,輸出相乘的多項式;

⑹ 設計乙個選單,至少具有上述操作要求的基本功能。

⑴ 輸入並建立有序多項式

每輸入一項(c,e),將其插入到多項式鍊錶的合適位置,在插入時:

*有同類項(指數相同):係數相加(或者不插入,顯示已存在該項的提示)

* 沒有同類項(指數不相同):直接插入

當輸入和插入完成後,所建立的多項式鍊錶是按指數大小有序的。

⑵ 多項式a和b相加/相減

① 將多項式a的每一項(c,e),將其插入到和/差多項式鍊錶的合適位置;

② 將多項式b的每一項(c,e),根據其指數e找到在和/差多項式鍊錶的正確位置,在插入時:

*有同類項(指數相同):係數相加/相減

*沒有同類項(指數不相同):直接插入

當多項式b的所有項插入完成後,所建立的多項式鍊錶是按指數大小有序的。(類似於集合的並操作)

⑶ 多項式a和b相乘

對於多項式a的每一項(ca,ea)和多項式b的每一項(cb,eb),將積項(ca×cb,ea+eb)插入到積多項式鍊錶的合適位置,在插入時中:

*有同類項(指數相同):係數相加

*沒有同類項(指數不相同):直接插入

當所有的積項(ca×cb,ea+eb)插入完成後,所建立的多項式鍊錶是按指數大小有序的。

#include

#include

#include

typedef

struct nodednode;

// 輸出多項式

void

display

(dnode *l)

printf

("\n");

}else

printf

("無資料!\n");

}//插入

void

add_dnode_item

(dnode *l,

float c,

int e,

int k)

/* 將項(c,e)以k的方式插入到以l為頭指標的一元多項式鍊錶中 */

/* 插入後的一元多項式鍊錶是按指數從小到大有序 */

if(p ==

null

)/* 已到鍊錶最後,開闢新結點,插入到最後 */

else

if(p->flag == e)

/* 有同類項 */

else p->data = x;

/* 合併後係數不為0,修改係數 */

}else

/* 沒有同類項 ,開闢新結點,直接插入 */

}//多項式l1與l2對應項相乘得到l3

void

multiplication

(dnode *l1, dnode *l2)

p2 = p2->next;

} p1 = p1->next;

}printf

("相乘後");

display

(l3);}

//多項式l1與l2對應項相減得到l3

void

subtract

(dnode *l1, dnode *l2)

while

(p2 !=

null

)printf

("相減後");

display

(l3);}

//多項式l1與l2對應項相加得到l3

void

polyoadd

(dnode *l1, dnode *l2)

while

(p2 !=

null

)printf

("相加後");

display

(l3);}

//選單2

void

function_select2

(dnode *l1, dnode *l2)

break

;case3:

multiplication

(l1, l2)

;getchar()

;break

;default

:printf()

;getchar()

;break;}

}}void

main()

while

(c !=0)

;printf

("成功建立多項式a\n");

display

(la)

;printf

("建立多項式b輸入的第乙個數為係數,第二個數為指數,以0 0結束迴圈:\n");

dowhile

(c !=0)

;printf

("成功建立多項式b\n");

display

(lb)

;getchar()

;function_select2

(la, lb)

;}

一元稀疏多項式的運算

1.問題描述 設有兩個帶頭指標的單鏈表表示兩個一元稀疏多項式a b,實現兩個一元稀疏多項式的處理。2.實現要求 1 輸入並建立多項式 最好通過檔案輸入,多項式最好不少於3項 2 輸出多項式,輸出形式為整數序列 n,c1,e1,c2,ez cn,en,其中n是多項式的項數,ci,e 分別為第i項的係數...

一元稀疏多項式加減

一元稀疏多項式加減 include include include define ok 1 define error 0 typedef int status typedef struct pnodepnode,polynomial 建立乙個多項式鍊錶 status creatpolynnomial...

一元多項式運算

一 實驗目的 1.熟練掌握c c 語言中指標的操作。2.掌握鍊錶的常用演算法。二 問題描述 一元多項式可以表示為線性表,相應地一元多項式的運算可以用線性表的基本運算來實現。本實驗要求以煉表為儲存結構,設計乙個一元多項式運算器,實現一元多項式的建立 銷毀 複製 列印顯示 四則運算等功能。三 實驗內容 ...