(完整word版)最新版c++程序設(shè)計(jì)_譚浩強(qiáng)_答案.doc_第1頁(yè)
(完整word版)最新版c++程序設(shè)計(jì)_譚浩強(qiáng)_答案.doc_第2頁(yè)
(完整word版)最新版c++程序設(shè)計(jì)_譚浩強(qiáng)_答案.doc_第3頁(yè)
(完整word版)最新版c++程序設(shè)計(jì)_譚浩強(qiáng)_答案.doc_第4頁(yè)
(完整word版)最新版c++程序設(shè)計(jì)_譚浩強(qiáng)_答案.doc_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余43頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、最新版:interesting! n;1.8 題return 0;#include 第一章using namespace std;2.7 題1.5 題int main()#include #include using namespace std;using namespace std;int a,b,c;int main()int main()cinab;int i,j,m,n;c=a+b;i=8;coutThisis;couta+b=a+bendl;j=10;coutaC+;return 0;m=+i+j+;coutprogram.;n=(+i)+(+j)+m;return 0;1.9 題1

2、.6 題#include coutitjtmtnen#include using namespace std;dl;using namespace std;int main()return 0;int main()int a,b,c;2.8 題int a,b,c;int add(int x,int y);#include a=10;cinab;using namespace std;b=23;c=add(a,b);int main()c=a+b;couta+b=cendl;char c1=C, c2=h, c3=i, c4=n, c5=a;couta+b=;return 0;c1+=4;cou

3、tc;c2+=4;coutendl;c3+=4;return 0;int add(int x,int y)c4+=4;int z;c5+=4;z=x+y;coutpassword1.7 七題return(z);is:c1c2c3c4c5endl;#include return 0;using namespace std;2.3 題int main()#include 3.2 題using namespace std;#include int a,b,c;int main()#include int f(int x,int y,int z);charusing namespace std;cin

4、abc;c1=a,c2=b,c3=c,c4=101,c5=116;int main ( )c=f(a,b,c);coutc1c2c3n;float h,r,l,s,sq,vq,vz;coutcendl;couttbc4tc5n;const float pi=3.1415926;return 0;return 0;coutrh;int f(int x,int y,int z)2.4 題l=2*pi*r;#include s=r*r*pi;int m;using namespace std;sq=4*pi*r*r;if (xy) m=x;int main()vq=3.0/4.0*pi*r*r*r;

5、else m=y;char c1=C,c2=+,c3=+;vz=pi*r*r*h;if (zm) m=z;coutI say: c1c2c3;return(m);coutttHe says: C+ is verycoutsetiosflags(ios:fixed)setiosflags(ios:right)setprecision(2); coutl= setw(10)lendl; couts= setw(10)sendl; coutsq=setw(10)sqendl; coutvq=setw(10)vqendl; coutvz=setw(10)vzendl; return 0;3.3 題#i

6、nclude using namespace std;int main ()float c,f;coutf;c=(5.0/9.0)*(f-32);/ 注意5和 9 要用實(shí)型表示 ,否則 5/9 值為 0 cout 攝氏溫度為 :cendl; return 0;3.4 題#include using namespace std;int main ( )char c1,c2;cout 請(qǐng)輸入兩個(gè)字符c1,c2:;c1=getchar();/ 將輸入的第一個(gè)字符賦給c1c2=getchar();/ 將輸入的第二個(gè)字符賦給c2cout 用 putchar 函數(shù)輸出結(jié)果為:;putchar(c1);pu

7、tchar(c2);coutendl;cout 用 cout 語(yǔ)句輸出結(jié)果為:;coutc1c2endl;return 0;3.4 題另一解#include using namespace std;int main ( )char c1,c2;cout 請(qǐng)輸入兩個(gè)字符c1,c2:;c1=getchar();/ 將輸入的第一個(gè)字符賦給c1c2=getchar();/ 將輸入的第二個(gè)字符賦給c2cout 用 putchar 函數(shù)輸出結(jié)果為 :; putchar(c1);putchar(44);putchar(c2);coutendl;cout 用 cout 語(yǔ)句輸出結(jié)果為 :; coutc1,c2

8、endl;return 0;3.5 題#include using namespace std;int main ( )char c1,c2;inti1,i2;/ 定義為整型couti1i2;c1=i1;c2=i2;cout 按字符輸出結(jié)果為 :c1 , c2endl;return 0;3.8 題#include using namespace std;int main ( ) int a=3,b=4,c=5,x,y; coutc & b=c)endl;cout(a|b+c & b-c)endl; coutb) & !c|1)endl; cout(!(x=a) & (y=b) & 0)endl

9、; cout(!(a+b)+c-1 & b+c/2)endl; return 0;3.9 題include using namespace std;int main ( )int a,b,c;coutabc;if(ab)if(bc)coutmax=c;elsecoutmax=b;else if (ac)coutmax=c;elsecoutmax=a;coutendl;return 0;3.9 題另一解#include using namespace std;int main ( )int a,b,c,temp,max ;coutabc;temp=(ab)?a:b;/*將 a和 b 中的大者存入

10、temp 中 */max=(tempc)?temp:c;/* 將 a 和 b 中的大者與 c 比較,最大者存入 max*/coutmax=maxendl; return 0;3.10 題#include using namespace std;int main ( )int x,y;coutx;if (x1)y=x;coutx=x, y=x=y;elseif(x10)/ 1 x10 y=2*x-1;coutx=x,y=2*x-1=y;*/caseelsecoutenter an integer(099999):;3:couthundred,ten,num;v9999)coutreverse o

11、rder:;coutx=x,place=5;y=3*x-11=999)coutindivtenhundredendl;place=4;break;cout99)casereturn 0;place=3;2:coutten,indiv9)coutreverse order:;3.11 題place=2;coutindivtenendl;#include else place=1;break;using namespace std;coutplace=placeendl;case 1:coutindivendl;int main ()/ 計(jì)算各位數(shù)字coutreverse order:;float

12、 score;ten_thousand=num/10000;coutindivendl;char grade;break;coutscore;while (score100|score0)hundred=(int)(num-ten_thousand*1003.13 題coutdataerror,enterdata00-thousand*1000)/100;#include again.;using namespace std;cinscore;ten=(int)(num-ten_thousand*10000-thint main ()ousand*1000-hundred*100)/10; l

13、ong i;/iswitch(int(score/10)為利潤(rùn)case 10:indiv=(int)(num-ten_thousand*10000-tfloatcase 9: grade=A;break;housand*1000-hundred*100-ten*10);bonus,bon1,bon2,bon4,bon6,bon10;case 8: grade=B;break;coutoriginal order:;bon1=100000*0.1;/case 7: grade=C;break;switch(place)利潤(rùn)為 10 萬(wàn)元時(shí)的獎(jiǎng)金case 6: grade=D;break;case

14、bon2=bon1+100000*0.075;/default:grade=E;5:coutten_thousand,thousand利潤(rùn)為 20 萬(wàn)元時(shí)的獎(jiǎng)金,hundred,ten,indivbon4=bon2+100000*0.05;/coutscore is score, gradeen利潤(rùn)為 40 萬(wàn)元時(shí)的獎(jiǎng)金is gradeendl;dl;bon6=bon4+100000*0.03;/return 0;coutreverse order:;利潤(rùn)為 60 萬(wàn)元時(shí)的獎(jiǎng)金bon10=bon6+400000*0.015;/3.12 題coutindivtenhundredthousan利潤(rùn)

15、為 100 萬(wàn)元時(shí)的獎(jiǎng)金#include dten_thousandendl;couti;int main ()caseif (i=100000)long int num;4:coutthousand,hundred,bonus=i*0.1;intten,indivendl;/ 利潤(rùn)在 10 萬(wàn)元以內(nèi)按10%提成獎(jiǎng)金indiv,ten,hundred,thousand,ten_thousacoutreverse order:;else if (i=200000)nd,place;bonus=bon1+(i-100000)*0.075;coutindivtenhundredthousan/ 利潤(rùn)

16、在 10 萬(wàn)元至 20萬(wàn)時(shí)的獎(jiǎng)金/* 分別代表個(gè)位 ,十位 , 百位 ,千位 ,萬(wàn)位dendl;else if (i=400000)和位數(shù)break;bonus=bon2+(i-200000)*0.05;/ 利潤(rùn)在 20 萬(wàn)元至40 萬(wàn)時(shí)的獎(jiǎng)金while (m!=0)/ 求 nelse if (i=600000)coutbonus=bonusendl;和 m 的最大公約數(shù)bonus=bon4+(i-400000)*0.03;return 0;r=n%m;/ 利潤(rùn)在 40 萬(wàn)元至60 萬(wàn)時(shí)的獎(jiǎng)金n=m;else if (i=1000000)3.14 題m=r;bonus=bon6+(i-6000

17、00)*0.015;#include / 利潤(rùn)在 60 萬(wàn)元至100 萬(wàn)時(shí)的獎(jiǎng)金using namespace std;coutHCF=nendl;elseint main ()coutLCD=p/nendl;bonus=bon10+(i-1000000)*0.01;int t,a,b,c,d;/ p是原來(lái)兩個(gè)整數(shù)的乘積/ 利潤(rùn)在 100 萬(wàn)元以上時(shí)的獎(jiǎng)金coutenter four numbers:;return 0;coutbonus=bonusabcd;return 0;couta=a,b=b,c=c,d=db)3.16 題#include t=a;a=b;b=t;#include us

18、ing namespace std;if (ac)using namespace std;int main ()t=a; a=c; c=t;int main ()long i;if (ad)char c;floatt=a; a=d; d=t;int letters=0,space=0,digit=0,other=0;bonus,bon1,bon2,bon4,bon6,bon10;if (bc)coutenter one line:d)if (c=a & c=A & cd)else if (c= )bon6=bon4+200000*0.03;t=c; c=d; d=t;space+;bon10=

19、bon6+400000*0.015;coutthe sorted sequence:=0 & c=9)coutenter i:;couta,b,ci;d10) c=10;switch(c)3.15 題coutletter:letters,case 0: bonus=i*0.1; break;#include space:space, digit:digit,case1:using namespace std;other:otherendl;bonus=bon1+(i-100000)*0.075; break;int main ()return 0;case 2:int p,r,n,m,temp

20、;case3:coutnm;#include case5:if (nm)using namespace std;bonus=bon4+(i-400000)*0.03;break;temp=n;int main ()case 6:n=m;inta,n,i=1,sn=0,tn=0;case 7:m=temp;/coutan;case9:while (i=n)bonus=bon6+(i-600000)*0.015; break;p=n*m;/ 先tn=tn+a;/ 賦值后的 tn 為 icase10:將 n 和 m 的乘積保存在p 中,以便求個(gè) a 組成數(shù)的值bonus=bon10+(i-10000

21、00)*0.01;最小公倍數(shù)時(shí)用sn=sn+tn;/ 賦值后的 sn 為多項(xiàng)式前 i 項(xiàng)之和a=a*10;+i;couta+aa+aaa+.=snendl; return 0;3.18 題#include using namespace std;int main ()float s=0,t=1;int n;for (n=1;n=20;n+)t=t*n;/求 n!s=s+t;/將各項(xiàng)累加cout1!+2!+.+20!=sendl; return 0;3.19 題#include using namespace std;int main ()int i,j,k,n;coutnarcissus nu

22、mbers are:endl;for (n=100;n1000;n+)i=n/100;j=n/10-i*10;k=n%10;if (n = i*i*i + j*j*j + k*k*k)coutn ;coutendl;return 0;3.20 題#include using namespace std;int main()const int m=1000;/定義尋找范圍int k1,k2,k3,k4,k5,k6,k7,k8,k9,k10;int i,a,n,s;for (a=2;a=m;a+)/a 是21000 之間的整數(shù),檢查它是否為完數(shù)n=0;/ n 用來(lái)累計(jì) a 的因子的個(gè)數(shù)s=a;/

23、s 用來(lái)存放尚未求出的因子之和,開(kāi)始時(shí)等于 afor (i=1;ia;i+)/檢查 i 是否為 a 的因子if (a%i=0)/如果i是 a 的因子n+;/n 加1,表示新找到一個(gè)因子s=s-i;/ s 減去已找到的因子, s 的新值是尚未求出的因子之和switch(n)/將找到的因子賦給k1,.,k10case 1:k1=i;break;/找出的笫 1 個(gè)因子賦給k1case 2:k2=i;break;/找出的笫 2 個(gè)因子賦給k2case 3:k3=i;break;/找出的笫 3 個(gè)因子賦給k3case 4:k4=i;break;/找出的笫 4 個(gè)因子賦給k4case 5:k5=i;bre

24、ak;/找出的笫 5 個(gè)因子賦給k5case 6:k6=i;break;/找出的笫 6 個(gè)因子賦給k6case 7:k7=i;break;/找出的笫 7 個(gè)因子賦給k7case 8:k8=i;break;/找出的笫 8 個(gè)因子賦給k8case 9:k9=i;break;/找出的笫 9 個(gè)因子賦給k9case 10:k10=i; break; / 找出的笫 10 個(gè)因子賦給 k10if (s=0)/ s=0 表示全部因子都已找到了couta is a 完數(shù) endl;cout1)coutk1,1 表示 a 至少有 2 個(gè)因子if (n2)cout,2表示至少有3 個(gè)因子,故應(yīng)再輸出一個(gè)因子if

25、(n3)cout,3表示至少有4 個(gè)因子,故應(yīng)再輸出一個(gè)因子if(n4)cout,5)cout,6)cout,7)cout,8)cout,9)cout,k10;coutendlendl;return 0;3.20 題另一解#include using namespace std;int main()int m,s,i;for (m=2;m1000;m+)s=0;for (i=1;im;i+)if (m%i)=0) s=s+i;if(s=m)coutm is a 完數(shù) endl; coutits factors are:;for (i=1;im;i+)if (m%i=0) couti ; cou

26、tendl;return 0;#include coutendl;/ 輸3.20 題另一解using namespace std;出完一行 * 號(hào)后換行#include int main()using namespace std;int day,x1,x2;for (i=0;i=2;i+)/ 輸出int main()day=9;下面 3 行*號(hào)int k11;x2=1;for (k=0;k0)cout*;/輸for (a=2;a=1000;a+)x1=(x2+1)*2;/第 1天出 *號(hào)n=0;的桃子數(shù)是第 2天桃子數(shù)加1后的2coutendl;/輸s=a;倍出完一行 * 號(hào)后換行for (i

27、=1;ia;i+)x2=x1;if (a%i)=0)day-;return 0;n+;s=s-i;couttotal=x1endl;kn=i;/ 將找return 0;3.25 題到的因子賦給 k1 k10#include using namespace std;if (s=0)3.23 題int main()couta is a完數(shù) endl;#include char i,j,k;/* i是 acoutits factors are:;#include 的對(duì)手 ;j 是 b 的對(duì)手 ;k 是 c 的對(duì)手 */for (i=1;in;i+)using namespace std;for (i

28、=X;i=Z;i+)coutki ;int main()for (j=X;j=Z;j+)coutknendl;float a,x0,x1;if (i!=j)coutenter a positive number:;for (k=X;ka;/輸入 a 的值if (i!=k & j!=k)return 0;x0=a/2;if (i!=X & k!=X &x1=(x0+a/x0)/2;k!=Z)docoutA-i3.21 題x0=x1;B-j C-kendl;#include x1=(x0+a/x0)/2;return 0;using namespace std;int main()while(fa

29、bs(x0-x1)=1e-5);int i,t,n=20;coutThe square root of a is4.1 題double a=2,b=1,s=0;x1endl;#include for (i=1;i=n;i+)return 0;using namespace std;s=s+a/b;int main()t=a;int hcf(int,int);a=a+b;/將前一項(xiàng)3.24 題int lcd(int,int,int);分子與分母之和作為下一項(xiàng)的分子#include int u,v,h,l;b=t;/將前一項(xiàng)using namespace std;cinuv;的分子作為下一項(xiàng)的分母

30、int main()h=hcf(u,v);int i,k;coutH.C.F=hendl;coutsum=sendl;for(i=0;i=3;i+)/輸l=lcd(u,v,h);return 0;出上面4行*號(hào)coutL.C.D=lendl;for (k=0;k=2*i;k+)return 0;coutu)t=u;u=v;v=t;voidgreater_than_zero(float a,floatb)while (r=u%v)!=0)/*定義一個(gè)函數(shù), 用來(lái)求 disc0 時(shí)方4.4 題u=v;程的根 */#include v=r;x1=(-b+sqrt(disc)/(2*a);using

31、namespace std;return(v);x2=(-b-sqrt(disc)/(2*a);int main()int fac(int);int a,b,c,sum=0;int lcd(int u,int v,int h)voidequal_to_zero(float a,floatb)coutabc;程sum=sum+fac(a)+fac(b)+fac(c);的根 */couta!+b!+c!=su4.2 題x1=x2=(-b)/(2*a);mendl;#include return 0;#include using namespace std;voidsmaller_than_zero

32、(float a,floatb)float x1,x2,disc,p,q;/*定義一個(gè)函數(shù), 用來(lái)求 disc0 時(shí)方int fac(int n)int main()程的根 */int f=1;void greater_than_zero(float,float);for (int i=1;i=n;i+)void equal_to_zero(float,float);p=-b/(2*a);f=f*i;void smaller_than_zero(float,float);q=sqrt(-disc)/(2*a);return f;float a,b,c;coutabc;4.3 題#include

33、 disc=b*b-4*a*c;#include #include coutroot:0)int main()int main()intprime(int);/*double e(double);greater_than_zero(a,b);函數(shù)原型聲明 */double x,sinh;int n;coutenter x:;coutx1=x1,x2=x2endl;coutx;cinn;sinh=(e(x)+e(-x)/2;else if (disc=0)if (prime(n)equal_to_zero(a,b);coutn is a prime.endl;coutsinh(x)=sinhen

34、dl;elsereturn 0;coutx1=x1,x2=x2endl;coutn is not a prime.endl;return 0;elsedouble e(double x)smaller_than_zero(a,b);return exp(x);int prime(int n)coutx1=p+qiendl;int flag=1,i;for (i=2;in/2 & flag=1;i+)coutx2=p-qiendl;if (n%i=0)4.6 題flag=0;#include #include return 0;using namespace std;int prime(int m)int main()int i,k=sqrt(m);doublefor(i=2;ik) return 1;/ 將 n 個(gè)盤從 one 座借助

溫馨提示

  • 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)論