




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第1章 C+語言簡介1. 修改例1-1的Hello World!程序,使其能夠在計算機(jī)屏幕上顯示:I am a student, and I like programming!2. 修改例1-3的加法計算器程序,編寫一個乘法計算器程序。 3. 修改例1-4的生日卡程序,使其能夠輸入和顯示日期。 4. 參考例1-5,使用梯形法計算下式定積分的值。其中積分區(qū)域等分?jǐn)?shù)可取為200,并將計算結(jié)果和手算結(jié)果相比較。提示:ex用標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)庫cmath中的庫函數(shù)exp(x)表示。5. 仿照例1-6,編寫一個計算矩形面積的程序。第2章 基本數(shù)據(jù)類型1 為例2-2添加數(shù)據(jù)檢驗(yàn)部分。給出三邊長,檢驗(yàn)其是否能構(gòu)成
2、一個三角形的方法是檢查是否任意兩邊和均大于第三邊。如果檢驗(yàn)不合格,輸出信息“Error Data!”2 輸入兩個角度值x、y,計算如下式子的值。3 編寫一個程序,要求完成以下要求:1) 提示用戶輸入任意的3個小數(shù);2) 顯示這三個小數(shù);3) 將這三個小數(shù)相加,并顯示其結(jié)果;4) 將結(jié)果按四舍五入方法轉(zhuǎn)換成整數(shù)并顯示。4 從鍵盤輸入任意三個整數(shù),然后輸出這三個數(shù)并計算其平均值。5 編寫一個程序,將字符串“Love”譯成密碼,譯碼方法采用替換加密法,其加密規(guī)則是:將原來的字母用字母表中其后面的第3個字母的來替換,如字母c就用f來替換,字母y用b來替換。提示:分別用4個字符變量來存儲'L
3、39;、'o'、'v'和'e',利用ASCII表中字母的排列關(guān)系,按照譯碼方法對各個變量進(jìn)行運(yùn)算后輸出即可。第3章 控制結(jié)構(gòu)1. 編寫計算階乘 n!的程序。2. 計算1!+2!+3!+4!+.+10!,即3. 編寫程序求斐波那契數(shù)列的第n項和前n項之和。斐波那契數(shù)列是形如0, 1, 1, 2, 3, 5, 8, 13, .其通項為:F0 = 0;F1 = 1;Fn = Fn-1+Fn-2。4. 編程求,其中。提示:結(jié)束條件可用 ,其中u為通項,為預(yù)先給定的精度要求。5. 用牛頓迭代法求方程:2x34x2十3x一60在1.5附近的根。提示:迭代公式
4、 結(jié)束迭代過程的條件為()與()同時成立,其中為預(yù)先給定的精度要求。6. 求解猴子吃桃問題。猴子在第一天摘下若干個桃子,當(dāng)即就吃了一半,又感覺不過癮,于是就多吃了一個。以后每天如此,到第10天想吃時,發(fā)現(xiàn)就只剩下了一個桃子。請編程計算第一天猴子摘的桃子個數(shù)。7. 編寫一個程序,尋找用戶輸入的幾個整數(shù)中的最小值。并假定用戶輸入的第一個數(shù)值指定后面要輸入的數(shù)值個數(shù)。例如:當(dāng)用戶輸入數(shù)列為: 5 20 15 300 9 700時,程序應(yīng)該能夠找到最小數(shù)98. 有一分?jǐn)?shù)序列(即后一項的分母為前一項的分子,后項的分子為前一項分子與分母之和),求其前n項之和。9. 求a+aa+aaa+aaaa+. .+a
5、a.a(n個),其中a為19之間的整數(shù)。例如:當(dāng)a = 1, n = 3時,求1+11+111之和;當(dāng)a = 5, n = 7時,求5555555555555555555555555555之和。10. 猜幻數(shù)游戲。由系統(tǒng)隨機(jī)給出一個數(shù)字(即幻數(shù)),讓游戲者去猜,如果猜對,則打印成功提示;否則,打印出錯提示,并提示游戲者選擇下一步動作,最多可以猜5次。第4章 數(shù)組與字符串1使用數(shù)組來求斐波那挈數(shù)列的第n項和前n項之和。2編寫程序,將4階方陣轉(zhuǎn)置,如下所示。 轉(zhuǎn)置前方陣A 轉(zhuǎn)置后方陣A3使用數(shù)組編寫一個統(tǒng)計學(xué)生課程平均分的程序:輸入6個學(xué)生的學(xué)號和3門課程的成績(整數(shù)形式),統(tǒng)計每個學(xué)生3門課程的
6、平均分(整數(shù)形式),最后輸出統(tǒng)計結(jié)果。輸出格式:學(xué)號高數(shù)英語體育平均分-4. 編寫一個程序,要求用戶輸入一個十進(jìn)制正整數(shù),然后分別轉(zhuǎn)換成為二進(jìn)制數(shù)、八進(jìn)制數(shù)和十六進(jìn)制數(shù)輸出。5輸入10個字符到一維字符數(shù)組s中,將字符串置逆。即s0與s9互換,s1與8互換,.,s4與s5互換,輸出置逆后的數(shù)組s。6替換加密(愷撒加密法):加密規(guī)則是:將原來的小寫字母用字母表中其后面的第3個字母的大寫形式來替換,大寫字母按同樣規(guī)則用小寫字母替換,對于字母表中最后的三個字母,可將字母表看成是首未銜接的。如字母c就用F來替換,字母y用B來替換。請將字符串“I love you”譯成密碼。第5章 函數(shù)1編寫字符串反轉(zhuǎn)函
7、數(shù)mystrrev( ),該函數(shù)的功能為將指定字符串中的字符順序顛倒排列。然后再編寫主函數(shù)驗(yàn)證之。函數(shù)聲明為:void mystrrev(char string)該函數(shù)無需返回值。提示:求字符串長度可以直接調(diào)用庫函數(shù)strlen( ),但在程序首部應(yīng)加上 #include <cstring>2編寫一組求數(shù)組中最大最小元素的函數(shù)。該組函數(shù)的原型為int imax(int array, int count);/ 求整型數(shù)組的最大元素int imin(int array, int count);/ 求整型數(shù)組的最小元素其中參數(shù)count為待考察的數(shù)組中的元素個數(shù),函數(shù)的返回值即為求得的最
8、大或最小元素之值。要求同時編寫出主函數(shù)進(jìn)行驗(yàn)證。3編寫函數(shù)isprime(int a)用來判斷變量a是否為素數(shù),若是素數(shù),函數(shù)返回1,否則返回0。調(diào)用該函數(shù)找出任意給定的n個整數(shù)中的素數(shù)。4打印出以下的楊輝三角形(要求打印出10行)11112113311464115101051 提示:打印楊輝三角形有兩種方法:1)楊輝三角形表現(xiàn)的是二項式的展開式的系數(shù)。例如,, 故楊輝三角形的第三行(對應(yīng)n=2)為121一般地,二項式的展開式為其中第m項。2)可直接根據(jù)楊輝三角形的形式來推出每項的值。由下面的楊輝三角形可以看出,楊輝三角形每行的第一個數(shù)和最后一個數(shù)均為1,除第一行外,每行中間的各數(shù)等于上一行位
9、于該數(shù)左上方和正上方的兩數(shù)之和,即。5用弦截法求一元方程在區(qū)間之間的一個根。提示:考慮當(dāng)區(qū)間足夠小,在此區(qū)間中方程僅有一個單根的情況,如下圖所示。圖5.6 弦截法求方程的解此時如和異號,則可用兩點(diǎn)間直線公式求出x2:然后用x2代入原式求出f(x2),判斷f(x2)與f(x1)和f(x0)中的哪一個同號,就用x2和f(x2)代替之,即如果f(x2)和f(x0)同號,就用x2和f(x2)代替x0和f(x0),反之用x2和f(x2)代替x1和f(x1),然后再繼續(xù)上述過程直至f(x)小于給定的誤差控制值。第6章 指針 1使用指針編寫一個對整型數(shù)組進(jìn)行排序的函數(shù),排序方法使用例4-6的交換排序法(冒泡
10、排序法)。2編寫程序,將某一個輸入的位數(shù)不確定的正整數(shù)按照標(biāo)準(zhǔn)的三位分節(jié)格式輸出,例如,當(dāng)用戶輸入82668634時,程序應(yīng)該輸出82,668,634。3編寫程序,把10個整數(shù)1、2、10賦予某個int型數(shù)組,然后用int型指針輸出該數(shù)組元素的值。4用指針編寫一個程序,當(dāng)輸入一個字符串后,要求不僅能夠統(tǒng)計其中字符的個數(shù),還能分別指出其中大、小寫字母、數(shù)字以及其他字符的個數(shù)。提示:要輸入包含空格的字符串需借助輸入流對象的get()成員函數(shù),如cin.get(str, 100); 語句就能將從鍵盤輸入的前99個字符(含可能出現(xiàn)在其中的任意個空格)存入到字符數(shù)組str中去,若用戶輸入字符數(shù)少于99,
11、則以回車換行表示輸入結(jié)束。5編寫一個函數(shù), 用于將一個字符串轉(zhuǎn)換為整型數(shù)值。其原型為: int atoi(char *string); 其中參數(shù)string為待轉(zhuǎn)換的字符串(其中包括正、負(fù)號和數(shù)字),返回值為轉(zhuǎn)換結(jié)果。6編寫一個函數(shù),用于生成一個空白字符串,其原型為:char *mystrspc(char *string, int n);其中參數(shù)string為字符串,n為空白字符串的長度 (空格符的個數(shù))。返回值為指向string的指針。第7章 函數(shù)與指針1使用遞歸算法編寫如下程序:對于任意給定的實(shí)數(shù)X和整數(shù)k>0,計算Xk。2Ackermann函數(shù)ack(m,n)由以下遞歸定義:ack
12、(0, n)=n+1ack(m, 0)=ack(m-1, 1)ack(m, n)=ack(m-1, ack(m, n-1) 其中m>0, n>0編寫一個計算此函數(shù)的遞歸程序。3使用遞歸算法編寫求斐波那契數(shù)列的第n項的函數(shù),并編出主函數(shù)進(jìn)行驗(yàn)證。4編寫一個求立方的函數(shù)cube,并重載它,使之可以對輸入的整型量和實(shí)型量數(shù)值求立方。5重載判斷兩個數(shù)值大小的函數(shù)max,這些數(shù)值可能是整型數(shù)、實(shí)型數(shù)和字符型,函數(shù)的返回值為兩個數(shù)值中的最大值。6編寫一個函數(shù),用于去掉字符串尾部的空格符,其原型為:char *mytrim(char *string);其中參數(shù)string為字符串,返回值為指向s
13、tring的指針。7編寫一個函數(shù),用于去掉字符串前面的空格,其原型為:char *myltrim(char *string);其中參數(shù)string為字符串,返回值為指向string的指針。8編寫一個程序,當(dāng)輸入一個整數(shù)以后,可以轉(zhuǎn)換成相應(yīng)的英文單詞輸出。如:123轉(zhuǎn)換成one hundred twenty three.9. 用牛頓法或者二分法編寫一個求方程f(x)=0在區(qū)間a,b中的實(shí)根的函數(shù), 其原型為: double equation(double (*func)(double), double a, double b, double eps);其中參數(shù)func, a和b分別為求根函數(shù)和區(qū)
14、間兩端點(diǎn), eps為精度。第8章 結(jié)構(gòu)化設(shè)計方法1輸入某小組5個人的姓名、性別、出生年份等信息,統(tǒng)計男女人數(shù)以及1988年以后(含1988年)出生的人數(shù)。2定義一個名為Circle(圓)的結(jié)構(gòu)體,其數(shù)據(jù)成員是圓的外接矩形的左上角和右下角兩點(diǎn)的坐標(biāo),計算該圓的面積。3讀入5個用戶的姓名和電話號碼,按姓名的字典順序排列后,輸出每個用戶的姓名和電話號碼。4口袋中有紅、黃、藍(lán)、白、黑五種顏色的小球若干個。如果每次都從口袋中取出3個不同顏色的小球,共有多少種組合,請打印出每種組合的3種顏色。要求使用枚舉類型來表示小球的顏色。5用自頂向下、逐步求精的程序設(shè)計方法找出210000之內(nèi)的所有完全數(shù)(所謂完全數(shù)
15、,即其各因子之和正好等于本身的數(shù)。如6=1+2+3,28=1+2+4+7+14,所以6,28都是完全數(shù))第9章 類和對象(1)1定義一個Dog類,包含name、age、sex、weight等屬性以及對這些屬性操作的方法。實(shí)現(xiàn)并測試這個類。2設(shè)計并測試一個名為Ellipse的橢圓類,其屬性為外接矩形的左上角與右下角兩個點(diǎn)的坐標(biāo),并能計算出橢圓的面積。3仿照Date類設(shè)計一個Time類,按各種可能的格式輸出時間。第10章 類和對象(2)1定義一個Dog類,包含name、age、sex、weight等屬性,設(shè)計一個構(gòu)造函數(shù),可以對這些屬性進(jìn)行初始化。實(shí)現(xiàn)并測試這個類。2設(shè)計并測試一個名為Ellips
16、e的橢圓類,其屬性為其圓心坐標(biāo)以及半長軸和半短軸的長度。設(shè)計一個構(gòu)造函數(shù)對這些屬性進(jìn)行初始化,并通過成員函數(shù)計算出橢圓的面積。3仿照Date類設(shè)計一個Time類,設(shè)計多個重載的構(gòu)造函數(shù),可以設(shè)置時間、進(jìn)行時間的加減運(yùn)算、按各種可能的格式輸出時間。4合并Date類和Time類為一個DateAndTime類,修改相應(yīng)的成員函數(shù),當(dāng)時間遞增到新的一天時,應(yīng)能夠修改日期值。第11章 繼承1從類Person中派生出一個教師類,新增的屬性有:專業(yè)、職稱和主講課程(一門),并為這些屬性定義相應(yīng)的方法。2許多研究生既有學(xué)生的屬性,又有教師的屬性。試通過多重繼承說明一個研究生類。3修改例11-5,從Point類
17、中派生出一個Line類。Line類增加一個數(shù)據(jù)成員EndPoint,計算線的長度。試比較一下與直接使用Point類來構(gòu)造Line類的不同之處。4從Date類和Time類派生一個DateAndTime類,修改相應(yīng)的成員函數(shù),當(dāng)時間遞增到新的一天時,應(yīng)能夠修改日期值。第12章 多態(tài)性1定義一個類Base,該類含有虛函數(shù)display,然后定義它的兩個派生類FirstB和SecondB,這兩個派生類均含有公有成員函數(shù)display,在主程序中,定義指向基類Base的指針變量ptr,并分別定義Base、FirstB、SecondB的對象b1、f1、s1,讓ptr分別指向b1、f1、s1的起始地址,然后
18、執(zhí)行這些對象的成員函數(shù)display。2擴(kuò)充例12-6,從中派生出一個正方形類和圓柱體類,寫一個測試程序,輸出正方形的面積和圓柱體的體積。提示:正方形數(shù)據(jù)成員:一個頂點(diǎn)和邊長;圓柱體數(shù)據(jù)成員:圓和高。3擴(kuò)充實(shí)例編程中的日期類,為Date類增加一個成員函數(shù),可以判斷一個日期是否是系統(tǒng)當(dāng)前日期。從鍵盤輸入你的生日,如果今天是你的生日則顯示:“Happy Birthday!”,否則顯示“還有xx天是你的生日”或“你的生日已經(jīng)過去了xx天,明年的生日要再等yy天”。第13章 模板與異常處理1 編寫一個求絕對值的函數(shù)模板,并測試。2 請將例4-6的冒泡排序法改寫成為模板函數(shù)并編寫一個程序進(jìn)行測試。3 例
19、13-6中所定義的通用棧類實(shí)際上是不完善的,如無法根據(jù)用戶需求改變棧的大小,沒有提供棧滿溢出無法壓入和空棧無法彈出提示等,請改進(jìn)該程序。4 C+中的數(shù)組類型比較簡單,它的下標(biāo)只能從0開始,沒有負(fù)數(shù)下標(biāo),而且沒有數(shù)組越界檢查。請用類模板設(shè)計一個newArray類,該類的對象可以是整型、浮點(diǎn)型、字符型等任何元素類型的數(shù)組,而且當(dāng)訪問數(shù)組成員時,如果下標(biāo)越界,程序可以報錯并終止。如下是一些例子:newArray <int> A1(3)/同傳統(tǒng)類型的整型數(shù)組/包含5個元素的浮點(diǎn)型數(shù)組,其成員為A2-2, A2-1, A20, A21, A22newArray <float> A2(-2, 3) 請編寫一個測試程序。5 例5-1給出的求階乘n!的函數(shù),當(dāng)用戶的輸入太大時(如50),會出現(xiàn)錯誤,請編寫一個程序,使用異常處理機(jī)制來解決這一問題。第14章 標(biāo)準(zhǔn)庫和輸入輸出流1編寫一個程序,分別用不同的域?qū)挘?10)打印出整數(shù)12345和浮點(diǎn)數(shù)1.2345。觀察當(dāng)域?qū)捫∮跀?shù)值的實(shí)際需要的域?qū)挄r會發(fā)生什么情況。2編寫一個程序,將華氏溫度0度212度轉(zhuǎn)換為浮點(diǎn)型攝氏溫度,浮點(diǎn)數(shù)精度為3。轉(zhuǎn)換公式如下:Celsius = 5.0 / 9.0 * (Fahrenhei
溫馨提示
- 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年度生物科技研發(fā)與合作合同范文
- 2025年度五星級酒店客房租賃合同協(xié)議書
- 二零二五版董事辭職及接任合同樣本
- 二零二五年度事業(yè)單位專業(yè)技術(shù)崗位聘用固定期限勞動合同實(shí)施細(xì)則4篇
- 2025年工業(yè)自動化設(shè)備代理銷售合同范本
- 二零二五年度城市地下管線拆除作業(yè)勞務(wù)服務(wù)協(xié)議
- 2025年度環(huán)衛(wèi)車輛租賃與城市清潔服務(wù)合同
- 2025年度珠寶店寶石鑒定專家質(zhì)量檢測合同
- 跨境電商項目居間投資合同
- 鋼結(jié)構(gòu)廠房施工合同管理方案
- 2024交管12123駕照學(xué)法減分必考題庫附答案
- 人教版八年級下冊英語默寫(單詞 重點(diǎn)短語 重點(diǎn)句型)含答案
- 腦脊液常規(guī)檢查
- 2024年蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫附答案
- 柴油機(jī)油-標(biāo)準(zhǔn)
- 監(jiān)獄安全課件
- 大學(xué)生生涯發(fā)展報告新能源汽車
- 《初三開學(xué)第一課 中考動員會 中考沖刺班會》課件
- 護(hù)理干預(yù)在慢性病管理中的作用
- 2024年河南水利與環(huán)境職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 四肢癱瘓的護(hù)理查房
評論
0/150
提交評論