在這裡插入**片
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...