一元稀疏多項式的運算

2021-09-17 23:10:30 字數 2151 閱讀 9700

1.問題描述:設有兩個帶頭指標的單鏈表表示兩個一元稀疏多項式a、b,實現兩個一元稀疏多項式的處理。

2.實現要求:

(1)輸入並建立多項式;(最好通過檔案輸入,多項式最好不少於3項)

(2)輸出多項式,輸出形式為整數序列:n,c1,e1,c2,ez…cn,en,其中n是多項式的項數,ci,e;分別為第i項的係數和指數。序列按指數降序排列;(注意係數為0的項需要從鍊錶中刪除)

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

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

(5)多項式a和b相乘,建立多項式axb,輸出相乘的多項式;

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

#include

#include

typedef

struct node

polynode;

//多項式節點 polynomial node

typedef polynode* polynomial;

polynomial createpolynomial()

//建立多項式

}else

}else

}else

}return head;

}//多項式與指定單項式相乘,該單項式為 coefx^expn

polynomial multiply

(polynomial poly,

float coef,

int expn)

p->next =

null

;return poly;

}void

add(polynomial poly1, polynomial poly2)

//把 poly2 加到 poly1 上

else

if(p->expn < q->expn)

else

else

t = q;

q = q->next;

free

(t);}}

if(p)

r->next = p;

if(q)

r->next = q;

}//多項式減法 poly1-poly2形成乙個新的多項式

polynomial polysubtract

(polynomial poly1, polynomial poly2)

p->next =

null

;add

(poly, poly1)

;//利用加法

return poly;

}//多項式相加 poly1+poly2形成乙個新的多項式

polynomial polyadd

(polynomial poly1, polynomial poly2)

else

if(p->expn < q->expn)

else

q = q->next;

p = p->next;}}

while

(p)while

(q) r->next =

null

;return poly;

}polynomial polymultiply

(polynomial poly1, polynomial poly2)

//多項式相乘

return poly;

}void

printpoly

(polynomial poly)

//列印多項式

p = p->next;

if(p &&

(p->coef >0)

)printf

("+");

}if(p->expn ==

0&&p->coef!=0)

else

if(p->coef!=0)

printf

("\n");

}}void

clear

(polynomial poly)

//釋放記憶體

} poly =

null;}

intmain()

一元稀疏多項式的運算

輸入並建立多項式 輸出多項式,輸出形式為整數序列 n,c1,e1,c2,e2 cn,en,其中n是多項式的項數,ci,ei分別為第i項的係數和指數。所有輸出都按指數降序排列。多項式a和b相加,建立多項式a b,輸出相加的多項式 多項式a和b相減,建立多項式a b,輸出相減的多項式 多項式a和b相乘,...

一元稀疏多項式加減

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

一元多項式運算

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