版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、c+課程實(shí)踐報告試題及答案 任務(wù)一 一、實(shí)踐任務(wù) 1試建立一個類 pp,求出下列多項(xiàng)式的前 n 項(xiàng)的值。 - - -=-n x p n x xp nx x pnn/ ) ( ) 1 ( ) ( ) 1 2 (1) (2 n 1 110=nnn 二、詳細(xì)設(shè)計 1、類的描述與定義 (1)私有數(shù)據(jù)成員 l int n:前若干項(xiàng)的項(xiàng)數(shù)。 l double x:存放 x 的值。 l double *p:根據(jù) n 的大小動態(tài)申請存放 p n (x) 前 n 項(xiàng)的數(shù)組空間。 (2)公有成員函數(shù) l pp(int num,double x1):構(gòu)造函數(shù),初始化數(shù)據(jù)成員 n 和 x,使 p 指向動態(tài)申請的數(shù)組空
2、間。 l pp():析構(gòu)函數(shù),釋放 p 指向的動態(tài)內(nèi)存空間。 l double fun(int n1,double x):遞歸函數(shù),用于求多項(xiàng)式 ) (x p n 的第 n1 項(xiàng)。注意:將遞歸公式中的 n 用作函數(shù)參數(shù)。本函數(shù)供 process 函數(shù)調(diào)用。 l void process( ):完成求前 n 項(xiàng)的工作,并將它們存放到 p 指向的動態(tài)數(shù)組中。 l void show( ):輸出 n 和 x,并將前 n 項(xiàng)以每行 4 個數(shù)的形式輸出到屏幕上。 2、主要函數(shù)設(shè)計 在主函數(shù)中完成對該類的測試。先輸入 num 和 x1,并定義一個 pp 類的對象 items,用 num 和 x1 初始化
3、items 的成員 n 和 x,調(diào)用 items 的成員函數(shù),求出并輸出多項(xiàng)式前 num 項(xiàng)的值。 三、源程序清單 #includeiostream.h class pp private: int n; double x; double*p; public: pp(int num,double x1) n=num; x=x1; p=new doublen; pp() if(p) delete p; double fun(int n1,double x); void process(); void show(); ; double pp:fun(int n1,double x) if(n1=0)
4、 return 1; else if(n1=1) return x; else if(n11) return (2*n1-1)*x*fun(n1-1,x)-(n1-1)*fun(n1-2,x)/n1; void pp:process() for(int i=0;in;i+) pi=fun(i,x); void pp:show() coutn=nendlx=xendl; for(int i=0;in;i+) coutpitt; if(i+1)%4=0) coutendl; void main() int num; double x1; cout請輸入 num 和 x1:; cinnumx1; p
5、p items(num,x1); cess(); items.show(); 任務(wù)二 一、實(shí)踐任務(wù) 2試建立一個類 sp,求k k k kn k n f + + + + = . 3 2 1 ) , ( ,另有輔助函數(shù) power(m,n)用于求nm 。 二、詳細(xì)設(shè)計 1、類的描述與定義 (1)私有數(shù)據(jù)成員 l int n,k:存放公式中 n 和 k 的值; (2)公有成員函數(shù) l sp(int n1,int k1):構(gòu)造函數(shù),初始化成員數(shù)據(jù) n 和 k。 l int power(int m, int n):求 m n 。 l int fun( ):求公式的累加和。 l voi
6、d show( ):輸出求得的結(jié)果。 2、主要函數(shù)設(shè)計 在主程序中定義對象 s,對該類進(jìn)行測試。 三、源程序清單 #includeiostream.h class sp private: int n,k; public: sp(int n1,int k1) n=n1; k=k1; int power(int m,int n); int fun(); void show(); ; int sp:power(int m,int n) int s=1; for(int i=0;in;i+) s*=m; return s; int sp:fun() int s=0; for(int i=1;i=n;i
7、+) s+=power(i,k); return s; void sp:show() coutf(n,k)=fun()endl; void main() int n1,k1; cout請輸入 n1,k1:; cinn1k1; sp s(n1,k1); s.fun(); s.show(); 任務(wù)三 一、實(shí)踐任務(wù) 3建立一個類 move,不進(jìn)行排序,將數(shù)組中小于平均值的元素放到數(shù)組的左邊,大于平均值的元素放到數(shù)組的右邊。 二、詳細(xì)設(shè)計 1、類的描述與定義 (1)私有數(shù)據(jù)成員 l float array20:一維整型數(shù)組。 l int n:數(shù)組中元素的個數(shù)。 (2)公有成員函數(shù) l move(flo
8、at b,int m):構(gòu)造函數(shù),初始化成員數(shù)據(jù)。 l void average():輸出平均值,并將數(shù)組中的元素按要求重新放置。 l void print():輸出一維數(shù)組。 2、主要函數(shù)設(shè)計 在主程序中用數(shù)據(jù)1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3對該類進(jìn)行測試。 三、源程序清單 #includeiostream.h class move private: float array20; int n; public: move(float b,int m) for(int i=0;im;i+) arrayi=bi; n=m; void average(); void
9、 print(); move() ; ; void move:average() float ave=0; int i,j; for(i=0;in;i+) ave+=arrayi; ave/=n; coutaveendl; float turn20; j=0; for(i=0;in;i+) if(arrayi=ave) turnj=arrayi; j+; j=0; for(i=0;in;i+) if(arrayiave) turnn-1-j=arrayi; j+; for(i=0;in;i+) arrayi=turni; void move:print() for(int i=0;in;i+)
10、 coutarrayi ; void main() float b1=1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3; int num; num=sizeof(b1)/sizeof(float); move s(b1,num); s.average(); s.print(); 任務(wù)四 一、實(shí)踐任務(wù) 4建立一個類 move,將數(shù)組中最大元素的值與最小元素的值互換。 二、詳細(xì)設(shè)計 1、類的描述與定義 (1)私有數(shù)據(jù)成員 l int *array:一維整型數(shù)組。 l int n:數(shù)組中元素的個數(shù)。 (2)公有成員函數(shù) l move(int b,int m):構(gòu)造函數(shù),初始化成員數(shù)
11、據(jù)。 l void exchange():輸出平均值,并將數(shù)組中的元素按要求重新放置。 l void print():輸出一維數(shù)組。 l move():析構(gòu)函數(shù)。 2、主要函數(shù)設(shè)計 在主程序中用數(shù)據(jù)21,65,43,87,12,84,44,97,32,55對該類進(jìn)行測試。 三、源程序清單 #includeiostream.h class move private: int *array; int n; public: move(int b,int m) array=new intm; n=m; for(int i=0;im;i+) arrayi=bi; void exchange(); voi
12、d print(); move() if(array) delete array; ; void move:exchange() float ave=0; for(int i=0;in;i+) ave+=arrayi; ave/=n; cout平均值為aveendl; int max,min; max=min=array0; int m; for(i=0,m=0;in;i+) if(arrayi=max) m=i,max=arrayi; int l; for(i=0,l=0;in;i+) if(arrayimax) l=i,max=arrayi; i=arraym,arraym=arrayl,
13、arrayl=i; void move:print() for(int i=0;in;i+) coutarrayi ; void main() int text=21,65,43,87,12,84,44,97,32,55; int num; num=sizeof(text)/sizeof(int); move s(text,num); s.print(); coutendl; s.exchange(); s.print(); 任務(wù)五 一、實(shí)踐任務(wù) 定義一個類 palindrome,實(shí)現(xiàn)絕對回文數(shù)。設(shè)計一個算法實(shí)現(xiàn)對任意整型數(shù)字判斷是否為絕對回文數(shù)。所謂絕對回文數(shù),是指十進(jìn)制數(shù)和二進(jìn)制數(shù)均對稱的
14、數(shù)。 二、詳細(xì)設(shè)計 1、類的描述與定義 (1)私有數(shù)據(jù)成員 l int n:整型數(shù)字。 l int y: 標(biāo)記是否為回文數(shù)。 (2)公有成員函數(shù) l palindrome (int x) :構(gòu)造函數(shù),根據(jù) x 參數(shù)初始化數(shù)據(jù)成員 n,y 初始化為 0。 l void huiwen () :判斷數(shù) n 是否為絕對回文數(shù)。 l void show( ) :若該數(shù)為回文數(shù),則在屏幕顯示。 2、主要函數(shù)設(shè)計 在主程序中定義 int a,由鍵盤輸入數(shù)字。定義一個 palindrome 類對象 p,用 a 初始化 p,完成對該類的測試。 三、源程序清單 #includeiostream.h class p
15、alindrome private: int n; int y; public: palindrome(int x) n=x; y=0; void huiwen(); void show(); ; void palindrome:huiwen() int i=0,j=0; int m; m=n; while(m) m/=10; i+; m=n; while(m) m/=2; j+; int*s10=new inti; int*s2=new intj; m=n; for(int k=0;ki;k+) s10i-1-k=m%10; m/=10; m=n; for(k=0;kj;k+) s2j-1-
16、k=m%2; m/=2; int num10=0; for(k=0;ki/2;k+) if(s10i-1-k=s10k) num10+; else break; int num2=0; for(k=0;kj/2;k+) if(s2j-1-k=s2k) num2+; else break; if(num10=(i/2)num2=(j/2) y=1; void palindrome:show() int i=0,j=0; int m; m=n; while(m) m/=10; i+; m=n; while(m) m/=2; j+; int*s10=new inti+1; int*s2=new in
17、tj+1; m=n; for(int k=0;ki;k+) s10i-1-k=m%10; m/=10; m=n; for(k=0;kj;k+) s2j-1-k=m%2; m/=2; if(y) cout該數(shù)為絕對回文數(shù)!:endl; cout十進(jìn)制表示為:; for(k=0;ki;k+) couts10k; cout二進(jìn)制表示為:; for(k=0;kj;k+) couts2k; else cout該數(shù)不是絕對回文數(shù)?。篹ndl; cout十進(jìn)制表示為:; for(k=0;ki;k+) couts10k; cout二進(jìn)制表示為:; for(k=0;kj;k+) couts2k; coutend
18、l; void main() int a; cout請輸入一個數(shù)字:; cina; palindrome p(a); p.huiwen(); p.show(); 任務(wù)六 一、實(shí)踐任務(wù) 6定義一個字符串類 string,實(shí)現(xiàn)判斷該字符串是否為回文字符串。所謂回文字符串,是 指該字符串左右對稱。例如字符串123321是回文字符串。 二、 詳細(xì)設(shè)計 1、類的描述與定義 (1)私有數(shù)據(jù)成員 l char *str; l int y:標(biāo)記是否為回文字符串。 (2)公有成員函數(shù) l string (char *s) :構(gòu)造函數(shù),用給定的參數(shù) s 初始化數(shù)據(jù)成員 str。y 初始化為 0。 l void h
19、uiwen () :判斷 str 所指向的字符串是否為回文字符串。 l void show( ) :在屏幕上顯示字符串。 2、主要函數(shù)設(shè)計 在主程序中定義字符串 char s=ababcedbaba作為原始字符串。定義一個 string 類對象 test,用 s 初始化 test,完成對該類的測試。 三、源程序清單 #includeiostream.h #includestring.h class string private: char*str; int y; public: string(char*s) int n=strlen(s); str=new charn+1; strcpy(st
20、r,s); y=0; void huiwen(); void show(); string() if(str) delete str; ; void string:huiwen() int n,judge=0; n=strlen(str); for(int i=0;i(n/2);i+) if(stri=strn-1-i) judge+; if(judge=i) y=1; void string:show()/輸出; if(y=1) couty=1,該字符串是回文數(shù)strendl; else couty=0,該字符串不是回文數(shù)strendl; void main()/測試; char s=ababcedbaba; string test(s); test.huiwen(); test.show(); 任務(wù)七 一、實(shí)踐任務(wù) 7建立一個類 phalanx,生成并顯示一個折疊方陣。折疊方陣如下圖所示。折疊方陣的生成過程為:起始數(shù)置于方陣的左上角,然后從起始數(shù)開始遞增,依次折疊構(gòu)成方陣。 二、詳細(xì)設(shè)計 1、類的描述與定義 (1)私有數(shù)據(jù)成員 1 2 4 3 1 1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度醫(yī)院醫(yī)療廢物處理設(shè)施建設(shè)合同4篇
- 2025年度個人創(chuàng)業(yè)貸款合同示范文本8篇
- 二零二五年度美容院美容護(hù)膚品生產(chǎn)股份合作合同4篇
- 二零二五版木質(zhì)家具定制設(shè)計與生產(chǎn)加工合同3篇
- 二零二五年度電子商務(wù)平臺標(biāo)志設(shè)計及用戶體驗(yàn)合同3篇
- 二零二五年度托盤租賃與供應(yīng)鏈金融結(jié)合合同范本3篇
- 二零二五年度昌平區(qū)食堂員工激勵與績效考核合同3篇
- 2025年度汽車租賃與品牌合作推廣合同范本3篇
- 二零二五年度城市綠化工程承包合同14篇
- 2025年度線上線下聯(lián)動大型促銷活動合作合同3篇
- 項(xiàng)目前期選址分析報告
- 急性肺栓塞搶救流程
- 《統(tǒng)計學(xué)-基于Python》 課件全套 第1-11章 數(shù)據(jù)與Python語言-時間序列分析和預(yù)測
- 《形象價值百萬》課件
- 紅色文化教育國內(nèi)外研究現(xiàn)狀范文十
- 中醫(yī)基礎(chǔ)理論-肝
- 小學(xué)外來人員出入校門登記表
- 《土地利用規(guī)劃學(xué)》完整課件
- GB/T 25283-2023礦產(chǎn)資源綜合勘查評價規(guī)范
- 《汽車衡全自動智能稱重系統(tǒng)》設(shè)計方案
- 義務(wù)教育歷史課程標(biāo)準(zhǔn)(2022年版)
評論
0/150
提交評論