一元多項式簡單運算

2021-08-28 01:20:28 字數 2181 閱讀 2096

這裡我們來分享一下一元多項式的簡單運算,雖然是簡單運算,但是已經給我們提供了解決複雜運算的思路。

我們需要輸入什麼?

首先輸入第乙個多項式的項數num1

然後輸入這個多項式各項的係數(xishu)和指數(指數).....................

再輸入第二個多項式的項數num2

然後輸入這個多項式各項的係數(xishu)和指數(zhishu).....................

解題步驟:

1.是用結構體儲存多項式每一項的係數和指數。

typedef struct dxs//儲存多項式每一項的結構體 

dx;

2.使用單向鍊錶將儲存同乙個多項式的所有項(儲存係數和指數的結構體)連線起來(這裡只展示第乙個多項是的儲存方法,第二個類似)。

printf("建立第乙個多項式的項數:");

scanf("%d",&num1);

printf("\n");

for(int i=0;iflag=0;//將標記flag設定為零

printf("請輸入第%d個多項式的係數:",i+1);

scanf("%d",&pnew->xishu);

printf("\n");

printf("請輸入第%d個多項式的指數:",i+1);

scanf("%d",&pnew->zhishu);

printf("\n");

//當頭節點還不存在時,將pnew賦值給phead(頭節點)

if(phead1==null)

//連線新節點

else

}

3.判斷哪乙個多項式的項數比較多。

dx *p=null;

dx *q=null;

dx *r=null;

dx *s=null;

//將項數多的賦值給p,項數少的賦值給p。

if(num1>num2)

else

s=p;//在後面的迴圈中p會不停的變,但是我們需要用到p,所以先將它儲存到s

r=q;//在後面的迴圈中p會不停的變,但是我們需要用到p,所以先將它儲存到r

為什麼要這麼做呢?我們的思路是利用雙層的while迴圈來完成合併,輸出,那麼我們需要讓外層的鍊錶所代表的多項式擁有較多的項,這樣可以保證外層鍊錶中的所有項均會被輸出。看下面的具體**

4.合併,輸出。

printf("合併後的多項式   f(x)=");

while(p)

else if(q->xishu+p->xishu>0&&p==s)

else if(q->xishu+p->xishu>0)

else

if(p->xishu+q->xishu==1 &&p->zhishu==1)

else if(p->zhishu==1)

else if(p->xishu+q->xishu==1)

else

}if(q->next==null)

else if(p->xishu>0&&p==s)

else if(p->xishu>0)

else

if(p->xishu==1 &&p->zhishu==1)

else if(p->zhishu==1)

else if(p->xishu==1)

else

}q=q->next;

}p=p->next;

//這裡,當p=null時證明外層鍊錶的遍歷已經完成,但是這裡還存在一些問題

//內層鍊錶中的某些項例如x^10外層鍊錶不存在,所以不會被合併輸出,這時,

//我們通過標記flag是否等於零來判斷是否已經輸出過了,如果flag=0則表示

//沒有輸出,那我們就用下面這個while迴圈來講內層鍊錶中沒有輸出的項輸出

if(p==null)

else if(q->xishu>0)

else

if(q->xishu==1 &&q->zhishu==1)

else if(q->zhishu==1)

else if(q->xishu==1)

else

}q=q->next;

}} }

雖然我們只做了加減,但是剩下的乘除,取餘等也是這個思路,不會太難。

一元多項式運算

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

一元多項式的運算

include using namespace std struct infor int main cin word p3 new struct infor cin p3 coef p3 exp while 0 p3 coef if null p a 中沒有 b 的項就直接加入 else 執行加法運...

一元多項式

一元多項式 功能 1 求解2個一元多項式的和 2 求解2個一元多項式的差 3 列印一元多項式 注 3 這個本來不算是乙個功能,但是發現列印一元多項式的時候問題很多。例如 1x應該列印成 x,x 0不應該應該列印出來 1.結點的定義 typedef struct polynomial polynomi...