一元多項式運算

2021-10-12 17:45:57 字數 2589 閱讀 6743

一、實驗目的

1.熟練掌握c/c++語言中指標的操作。

2.掌握鍊錶的常用演算法。

二、問題描述

一元多項式可以表示為線性表,相應地一元多項式的運算可以用線性表的基本運算來實現。本實驗要求以煉表為儲存結構,設計乙個一元多項式運算器,實現一元多項式的建立、銷毀、複製、列印顯示、四則運算等功能。

三、實驗內容

實現一元多項式運算器的基本功能:

(1)建立多項式;

(2)列印顯示多項式;

(3)銷毀多項式;

(4)複製多項式;

(5)求兩個多項式的和;

(6)求兩個多項式的差;

(7)求兩個多項式的積;

(8)求乙個多項式的n次冪;

(9)計算乙個多項式在x=a處的值。

四、實現提示

由於程式有多項功能,可採用選單選項的方式來分別呼叫各項功能。

銷毀多項式時,要注意釋放所有結點的儲存空間。

求兩個多項式的積可分解為一系列多項式求和運算。

```c

#include

#include

#include

typedef

struct

datatype;

typedef

struct node listnode,

* linklist;

//查詢定位演算法

intlocatenode

(linklist l, datatype e,

int& q)

if(p ==

null

|| e.expn != p->data.expn)

return(0

);//查詢失敗

else

return1;

}//在有序表中插入乙個資料後仍保持表的有序性

void

insertnode

(linklist& l, datatype e,

int q)

//查詢插入位置

s =(listnode*

)malloc

(sizeof

(listnode));

s->data.coef = e.coef;

s->data.expn = e.expn;

s->next = p->next;

p->next = s;

}//多項式複製,將多項式la複製到lc中

void

copypolyn

(linklist la, linklist& lc)

}//建立多項式

void

creatpolyn

(linklist& l,

int n)

l = pa;

}//多項式鍊錶的列印

void

printlist

(linklist l)

printf

("\n");

}//多項式鍊錶的相加

void

addpolyn

(linklist la, linklist lb, linklist& lc)

else

if(pa->data.expn < pb->data.expn)

else

else}}

pc->next = pa ? pa : pb;

free

(w);

}//多項式鍊錶的相減

void

subpolyn

(linklist la, linklist lb, linklist& lc)

addpolyn

(v, w, lc);}

//銷毀多項式

void

despolyn

(linklist la)

free

(la)

; la ->next=

null;}

void

attach

(float c,

int e, linklist* r)

//多項式的乘積

linklist multipolyn

(linklist la, linklist lb)

t1 = t1->next;

while

(t1)

}else

t2 = t2->next;

} t1 = t1->next;

}return front;

}//多項式的n次冪

linklist expnpolyn

(int n, linklist l)

}return p[n -1]

;}//求多項式的值

float

calculate

(linklist la,

int n)

return

(sum);}

//主函式

intmain()

}return0;

}

(小聲,乘法部分我有借鑑,只是期末了發著玩,難免有人需要,不圖啥好處,如果原作者糾結的話請讓我刪除

一元多項式的運算

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 執行加法運...

一元多項式簡單運算

這裡我們來分享一下一元多項式的簡單運算,雖然是簡單運算,但是已經給我們提供了解決複雜運算的思路。我們需要輸入什麼?首先輸入第乙個多項式的項數num1 然後輸入這個多項式各項的係數 xishu 和指數 指數 再輸入第二個多項式的項數num2 然後輸入這個多項式各項的係數 xishu 和指數 zhish...

一元多項式

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