這裡我們來分享一下一元多項式的簡單運算,雖然是簡單運算,但是已經給我們提供了解決複雜運算的思路。
我們需要輸入什麼?
首先輸入第乙個多項式的項數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...