線性表 ADT的使用 實驗2

2021-10-23 03:16:33 字數 2969 閱讀 3767

在這裡插入**片

c1 2 3 4 0

1 2 3 4 0

sx

輸出結果

c(x)=0
實驗二:一元多項式的基本運算

實驗目的:掌握用線性表實現一元多項式的基本運算。

實驗內容:使用鏈式儲存實現一元多項式的加法、減法、乘法和求導。即:

c(x)= a(x)+b(x);c(x)= a(x)-b(x) c(x)= a(x)*b(x) c(x)= a』(x)

選單:1)c :分別建立兩個多項式a(x)和b(x),其中 輸入時按照 指數的公升序順序輸入,遇到係數為0則停止。例如:輸入 :

1 2 3 4 5 6 7 8

0 2 3 4 5 6 7 0 則生成的多項式分別為:

a(x)=x2+3x4+5x6+7x8

b(x)=2x3+4x5+6x^7

2)p:計算c(x)= a(x)+b(x),計算完畢後輸出c(x)的 結果

3)s: 計算c(x)= a(x)-b(x),計算完畢後輸出c(x)的 結果

4)m: 計算c(x)= a(x)*b(x),計算完畢後輸出c(x)的 結果

5)d: 計算c(x)= a』(x),計算完畢後輸出c(x)的 結果

6)v: 首先輸入乙個 float型資料,然後計算 a(x)並輸出計算的結果。

7)c: 分別清空a(x)、b(x)、c(x)三個多項式。

8)x: 退出程式。

測試樣例1`

c

1 2 3 4 5 6 7 8 0

2 3 4 5 6 7 0sp

mdv2

x

輸出結果

c(x)=x^2-2x^3+3x^4-4x^5+5x^6-6x^7+7x^8

c(x)=x^2+2x^3+3x^4+4x^5+5x^6+6x^7+7x^8

c(x)=2x^5+10x^7+28x^9+52x^11+58x^13+42x^15

c(x)=2x+12x^3+30x^5+56x^7

2164.00

測試樣例2

c

2 2 0

2 2 3 3 0ps

mdv3.1

x

輸出結果

c(x)=4x^2+3x^3

c(x)=-3x^3

c(x)=4x^4+6x^5

c(x)=4x

19.22

測試樣例 3

c

3 0 2 2 0

-2 2 3 3 0mv

2.1psd

x

輸出結果

c(x)=-6x^2+9x^3-4x^4+6x^5

11.82

c(x)=3+3x^3

c(x)=3+4x^2-3x^3

c(x)=4x

這個其實就是乙個暴力題,我直接用結構體儲存多項式,操作都是暴力的。多項式的輸出寫的是真的麻煩。

1.要注意考慮第乙個輸出的係數為正數時不用『+』號,不是第乙個輸出的正係數都要加上『+』號。

2.當多項式的係數為1或者-1時要省略係數。直接變為x^n 或者 -x^n

3.當冪次的係數為0時 直接輸出多項式的係數當作常數項。

4.當冪次的係數為1時,更改輸出方式為 nx 或者 -nx ,具體情況具體分析。

其他都是暴力的操作,希望大家在看**的時候能夠先理解 然後再自己動手寫,編寫**只有自己親自動手才能變得更強。

希望大家能夠順利過題。。

更新後的ac**

#include

#include

#include

#include

using

namespace std;

typedef

long

long ll;

const

int n=

1e5+7;

struct node

a,b;

intmain()

}while

(cin>>x)

}int flag;

while

(cin>>c)}if

(flagg==

0) cout<<

0

}else}}

else

}else}}

}}cout

if(c==

's')}if

(flagg==

0) cout<<

0

}else}}

else

}else}}

}}cout

if(c==

'm')

} cout<<

"c(x)="

;int flagg=0;

for(

int i=

0;i<=cnt;i++)}

if(flagg==

0) cout<<

0

}else}}

else

}else}}

}}cout

if(c==

'd')}if

(flagg==

0) cout<<

0

}else}}

else

}else}}

}}cout

if(c==

'v')

cout

)<}else

if(c==

'c')

else

if(c==

'x')

}return0;

}

線性表實驗

實驗內容 建立乙個n個學生成績的順序表,對錶進行插入 刪除 查詢等操作。分別輸出結果。要求如下 1 用順序表來實現。ifndef seqlist h define seqlist h const int maxsize 20 class seqlist seqlist int a,int n seq...

線性表實驗

檔案 ifndef seqlist h 注意這裡 ifndef endif的用法 define seqlist h const int maxsize 10 class seqlist seqlist int a,int n seqlist void insert int i,int x int d...

線性表實驗(補)

資料結構 實驗二 線性表實驗 一 實驗目的 鞏固線性表的資料結構,學會線性表的應用。1.回顧線性表的邏輯結構,線性表的物理儲存結構和常見操作。2.學習運用線性表的知識來解決實際問題。3.進一步鞏固程式除錯方法。4.進一步鞏固模板程式設計。二 實驗時間 準備時間為第2周到第4周,具體集中實驗時間為第4...