錢(qián)能--C++程序設(shè)計(jì)教程(第二版)第二章_第1頁(yè)
錢(qián)能--C++程序設(shè)計(jì)教程(第二版)第二章_第2頁(yè)
錢(qián)能--C++程序設(shè)計(jì)教程(第二版)第二章_第3頁(yè)
錢(qián)能--C++程序設(shè)計(jì)教程(第二版)第二章_第4頁(yè)
錢(qián)能--C++程序設(shè)計(jì)教程(第二版)第二章_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、本人在大連理工大學(xué)讀研需要C+,以前只學(xué)過(guò)C,根據(jù)網(wǎng)評(píng),找了國(guó)內(nèi)的錢(qián)能老師寫(xiě)的c+程序設(shè)計(jì)教程(第二版),書(shū)上的例子比較不錯(cuò),但是在網(wǎng)上一直沒(méi)有下到完整的包括例子和習(xí)題的解答,于是我就突發(fā)奇想,一方面也是督促自己學(xué)習(xí)C+,想把書(shū)上和習(xí)題上的所有編程題目的答案都寫(xiě)出來(lái),供正在學(xué)習(xí)C+的同學(xué)參考?,F(xiàn)在看到第二章,以后會(huì)經(jīng)常的更新答案,我也是新手,可能在編程風(fēng)格和思路上有待提高,也有一些題目不知道該如何下手,路過(guò)的朋友知道的可以告訴我,我的郵箱是 guosheng-14,可以督促我繼續(xù)寫(xiě)以后的答案。第二章第一部分(例題)/2.1.1-1 球表面積#include using namespace st

2、d;int main()double radius;coutplease input the radius:radius;double result=radius*radius*3.14*4;coutthe result is :resultendl;/2.1.2球表面積函數(shù)實(shí)現(xiàn)#includeusing namespace std;void mianji();int main()mianji();void mianji()double r;coutplease input the radius:r;if(r0) return;coutthe result is :r*r*3.14*4endl

3、;/2.4.1梯形M#includeusing namespace std;int main()for(int i=1;i=10;i+)for(int j=1;j=i;j+)coutM;coutendl;/2.41-例2-2倒三角M#includeusing namespace std;int main()for(int i=1;i=10;+i)for(int j=0;ji-1;+j)cout0;j-)coutM;coutendl;/2.41-例2-3正三角字母/省略部分和不省略部分都能執(zhí)行,一個(gè)是數(shù)字判斷,一個(gè)是字母判斷。#includeusing namespace std;int mai

4、n()for(int i=1;i=10;+i)for(int j=0;j=10-i;+j)cout ;/for(int j=1;j=2*i-1;+j)/char ch=A-1+j;/coutch;/for(char j=A;j-A2*i-1;+j)coutj;coutendl;/2.42素?cái)?shù)判定1#includeusing namespace std;int main()int number;coutplease input a number:number;for(int i=2;inumber;+i)if(number%i=0)coutthis number is not a primeen

5、dl;return 1;coutthis number is a primeendl;/2.4.2素?cái)?shù)判定2#include#includeusing namespace std;int main()coutplease input a number:number;double a=sqrt(number*1.0);for(int i=2;ia;+i)if(number%i=0)coutthis number is not a primeendl;return 1;coutthis number is a primeendl;/2.5.2輸出流控制倒三角M#include#includeusi

6、ng namespace std;int main()for(int i=9;i0;i-)coutsetw(10-i)setfill( ) ;coutsetw(2*i-1)setfill(M)Mendl;/2.5.2輸出流控制string版本倒三角M#include#includeusing namespace std;int main()for(int i=0;i10;+i)coutstring(i, )+string(2*10-1-2*i,M)endl;/2.5.3文件流復(fù)制#include#include#includeusing namespace std;int main()ifst

7、ream fin(original.txt);ofstream fout(copy.txt);for(string str;getline(fin,str);)foutstrendl;/2.5.3文件流+素?cái)?shù)判斷#include#include#includeusing namespace std;int main()vector prime(10000,1);for(int i=2;i10000;+i)if(primei)for(int j=i;j*ia&a1&a10000;)couta is (primea?: not )a prime.endl;/2.7.1百錢(qián)買(mǎi)百雞+文件流#inclu

8、de#includeusing namespace std;int main()ofstream fout(original.txt);fout百錢(qián)買(mǎi)百雞問(wèn)題endl;for(int i=1;i=100/7;i+)for(int j=1;j=(100-i*7)/5;j+)for(int k=1;k98;k+)if(k%3!=0) continue;if(i+j+k=100&i*7+j*5+k/3=100)foutcoocks:i,hens:j,chicks:kendl;/2.7.2函數(shù)逼近#include#includeusing namespace std;int main()double

9、s=0,item=1;for(int i=1,sign=1;abs(item)1e-6;i+=2,sign*=-1)item=sign/double(i);s+=item;couts*4endl;第二部分/1函數(shù)逼近方法1#include#includeusing namespace std;int main()coutplease input a number:x;s+=x;/解決首項(xiàng)問(wèn)題for(int i=1,sign=-1,p=1;abs(item)1e-8;i+,sign*=-1) /p是記錄分母階乘x*=x; /x各階p*=(p+1);item=sign*x/double(p);s+

10、=item;coutthe result is sendl;/1函數(shù)逼近方法2少了幾行,看不看都行。#include#includeusing namespace std;int main()coutplease input a number:x;for(int p=1,sign=1;abs(item)1e-8;p+,sign*=-1) item=abs(item)*sign*x/double(p);s+=item;coutthe result is sendl;/2階乘和#includeusing namespace std;int main()int s=0;for(int i=1,ite

11、m=1;i13;i+)item*=i;s+=item;coutsendl;/3水仙花問(wèn)題#include#includeusing namespace std;int main()ofstream fout(original.txt);fout水仙花問(wèn)題endl;for(int i=100;i1000;i+)int handred,ten,single;handred=i/100;ten=(i-handred*100)/10;single=i%10;if(handred*handred*handred+ten*ten*ten+single*single*single-i) continue;f

12、outiendl;/4完數(shù)問(wèn)題/我感覺(jué)這道題目比較難,可能我沒(méi)想出更好的方法。我的思路就是先能找出一個(gè)數(shù)的所有的不同的因子,有很多細(xì)節(jié),在下面注釋了。#includeusing namespace std;int main()for(int p=2;p=1000;p+) /外層循環(huán)int x=p; /找因子的過(guò)程中需要改變X的值,最后比較的還有一個(gè)Pint a10,k=0,m=1,s=1; /數(shù)組存放不同的因子,K是下標(biāo),m標(biāo)記是不是第一個(gè)因子for(int i=2;i=x;i+) /因?yàn)槭遣皇堑匾粋€(gè)因子對(duì)數(shù)組的操作是不一樣的。if(x%i=0) /如果是因子,下面是考慮是不是不同的因子if(

13、m=1) /第一個(gè)因子不用比較一定要存放到數(shù)組當(dāng)中ak=i;k+;m+;else /不是第一個(gè)因子的情況下for(int p=0;p=k-1;p+) if(ap!=i&(p=(k-1) /如果因子不等于數(shù)組里面的因子而且已經(jīng) /比較到最后一個(gè)數(shù)的時(shí)候ak=i; k+; break; x=x/i; if(x=1) break; i=1;for(int i=0;i=k-1;i+) s+=ai;if(p=s) coutp=1;for(int i=0;i=k-1;i+)cout+ai;coutendl;我的思路跟正常的人的思路一樣的,假如一個(gè)數(shù)100,找因子,先找到2,記錄一下,100/2=50,50

14、也有因子2,但是和已經(jīng)記錄的比較,已經(jīng)存在了,不用在記錄了,50/2=25,25的因子是5,從記錄里面找,沒(méi)有,在記錄的本子里記上5,以此類推。答題思路就是這樣。/5對(duì)數(shù)問(wèn)題#includeusing namespace std;int main()for(int i=100,handred,single;i1000;i+)handred=i/100;single=i%10;if(handred-single) continue;coutiendl;/6猴子吃桃問(wèn)題#includeusing namespace std;int main()int s=1;for(int i=1;i10;i+)

15、coutsendl;/猴子有這么能吃么?把每次運(yùn)算結(jié)果看一邊,還是我理解有問(wèn)題?s=(s+1)*2;/7菱形百分號(hào)#includeusing namespace std;int main()for(int i=0;i=0;j-)cout ;for(int j=1;j=2*i+1;j+)cout%;coutendl;for(int i=0;i=10;i+)for(int j=0;ji;j+)cout ;for(int j=0;j=20-2*i;j+)cout%;coutendl;/8 #-$#includeusing namespace std;int main()for(int i=0;i10

16、;i+)for(int j=0;j20-i;j+)cout ;for(int j=0;j=i;j+)cout#;cout ;for(int j=0;j=i;j+)cout$;coutendl;/9倒三角S-T字母#includeusing namespace std;int main()int pace=T-S;/其實(shí)就是1char ch=S;for(int i=0;i=10;i+)for(int j=0;j+i;j+)cout ;coutch;for(int j=0,sign=1;j20-2*i;j+,sign*=-1)coutchar(ch+sign*pace);ch+=sign*pace

17、;coutendl;10.母豬下崽問(wèn)題想不明白。思路我就不知道怎么想。有想出來(lái)的網(wǎng)友可以交流。11/自由落體(第N次落地時(shí),注意時(shí)刻)#includeusing namespace std;int main()double h=100;double s=100;int x;coutenter the times it falls:x;if(x=0) coutit is not what we want.endl;for(int i=2;i=x;i+)s+=h;h=h/2;coutsendl;/12兌換人民幣#includeusing namespace std;int main()for(int i=1;i9;i+)for(int j=1;j19;j+)for(int k=1;k86;k+)if(i*10+j*5+k=100)cout十

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論