一、實驗目的
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...