《《c++程序設(shè)計》譚浩強課后習題答案》由會員分享,可在線閱讀,更多相關(guān)《《c++程序設(shè)計》譚浩強課后習題答案(13頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、c+程序設(shè)計譚浩強課后習題答案第一章1.5題#include cout1.6題#include int a,b,c;a=10;b=23;c=a+b;coutcoutreturn 0;1.7七題#include int a,b,c;int f(int x,int y,int z); cinabc;c=f(a,b,c);coutint f(int x,int y,int z) int m;if (xelse m=y;if (zreturn(m);1.8題#include using namespace std;int main()int a,b,c;cinab;c=a+b;coutreturn 0
2、;1.9題#include using namespace std;int main()int a,b,c;int add(int x,int y);cinab;c=add(a,b);coutreturn 0;int add(int x,int y)int z;z=x+y;return(z);2.3題#include using namespace std;int main()char c1=a,c2=b,c3=c,c4=101,c5=116; coutcoutreturn 0;2.4題#include using namespace std;int main()char c1=C,c2=+,
3、c3=+;coutcout2.7題#include using namespace std;int main()int i,j,m,n;i=8;j=10;m=+i+j+;n=(+i)+(+j)+m;coutreturn 0;2.8題#include using namespace std;int main()char c1=C, c2=h, c3=i, c4=n, c5=a;c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;cout3.2題#include #includeusing namespace std;int main ( )float h,r,l,s,sq,vq,vz;c
4、onst float pi=3.1415926;coutcinrh;l=2*pi*r;s=r*r*pi;sq=4*pi*r*r;vq=3.0/4.0*pi*r*r*r;vz=pi*r*r*h;coutf;c=(5.0/9.0)*(f-32); /注意5和9要用實型表示,否則5/9值為0 coutreturn 0;3.4題#include using namespace std;int main ( )char c1,c2;coutc1=getchar(); /將輸入的第一個字符賦給c1c2=getchar(); /將輸入的第二個字符賦給c2coutputchar(c1);putchar(c2)
5、;coutcoutcoutreturn 0;3.4題另一解#include using namespace std;int main ( )char c1,c2;coutc1=getchar(); /將輸入的第一個字符賦給c1c2=getchar(); /將輸入的第二個字符賦給c2coutputchar(c1);putchar(44);putchar(c2);coutcoutcoutreturn 0;3.5題#include using namespace std;int main ( )char c1,c2;int i1,i2; /定義為整型coutcini1i2;c1=i1;c2=i2;c
6、out3.8題#include using namespace std;int main ( ) int a=3,b=4,c=5,x,y;coutcoutcoutcoutcoutreturn 0;3.9題include using namespace std;int main ( )int a,b,c;coutcinabc;if(aif(bcoutabc;temp=(ab)?a:b; /* 將a和b中的大者存入temp中*/max=(tempc)?temp:c; /* 將a和b中的大者與c比較,最大者存入max */coutreturn 0;3.10題#include using namesp
7、ace std;int main ( )int x,y;coutcinx;if (xy=x;coutelse if (xy=2*x-1;coutelse / x10y=3*x-11;coutcoutscore;while (score100|scorecoutcinscore;switch(int(score/10)case 10:case 9: grade=A;break;case 8: grade=B;break;case 7: grade=C;break;case 6: grade=D;break;default:grade=E;coutreturn 0;3.12題#include us
8、ing namespace std;int main ()long int num;int indiv,ten,hundred,thousand,ten_thousand,place;/*分別代表個位,十位,百位,千位,萬位和位數(shù)*/coutcinnum;if (num9999)place=5;else if (num999)place=4;else if (num99)place=3;else if (num9)place=2;else place=1;cout/計算各位數(shù)字ten_thousand=num/10000;thousand=(int)(num-ten_thousand*1000
9、0)/1000;hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);coutswitch(place)case5:coutcoutcoutbreak;case 4:coutcoutcoutbreak;case 3:coutcoutcoutbreak;case 2:coutco
10、utcoutbreak;case 1:coutcoutcoutbreak;return 0;3.13題#include using namespace std;int main () long i; /i為利潤float bonus,bon1,bon2,bon4,bon6,bon10;bon1=100000*0.1; /利潤為10萬元時的獎金bon2=bon1+100000*0.075; /利潤為20萬元時的獎金bon4=bon2+100000*0.05; /利潤為40萬元時的獎金bon6=bon4+100000*0.03; /利潤為60萬元時的獎金bon10=bon6+400000*0.01
11、5; /利潤為100萬元時的獎金coutcini;if (ibonus=i*0.1; /利潤在10萬元以內(nèi)按10%提成獎金else if (ibonus=bon1+(i-100000)*0.075; /利潤在10萬元至20萬時的獎金else if (ibonus=bon2+(i-200000)*0.05; /利潤在20萬元至40萬時的獎金else if (ibonus=bon4+(i-400000)*0.03; /利潤在40萬元至60萬時的獎金else if (ibonus=bon6+(i-600000)*0.015; /利潤在60萬元至100萬時的獎金elsebonus=bon10+(i-1
12、000000)*0.01; /利潤在100萬元以上時的獎金coutreturn 0;3.13題另一解#include using namespace std;int main ()long i;float bonus,bon1,bon2,bon4,bon6,bon10;int c;bon1=100000*0.1;bon2=bon1+100000*0.075;bon4=bon2+200000*0.05;bon6=bon4+200000*0.03;bon10=bon6+400000*0.015;coutcini;c=i/100000;if (c10) c=10;switch(c)case 0: b
13、onus=i*0.1; break;case 1: bonus=bon1+(i-100000)*0.075; break;case 2:case 3: bonus=bon2+(i-200000)*0.05;break;case 4:case 5: bonus=bon4+(i-400000)*0.03;break;case 6:case 7:case 8:case 9: bonus=bon6+(i-600000)*0.015; break;case 10: bonus=bon10+(i-1000000)*0.01;coutreturn 0;3.14題#include using namespac
14、e std;int main ()int t,a,b,c,d;coutcinabcd;coutif (ab)t=a;a=b;b=t;if (ac)t=a; a=c; c=t;if (ad)t=a; a=d; d=t;if (bc)t=b; b=c; c=t;if (bd)t=b; b=d; d=t;if (cd)t=c; c=d; d=t;coutcoutreturn 0;3.15題#include using namespace std;int main ()int p,r,n,m,temp;coutcinnm;if (ntemp=n;n=m;m=temp; /把大數(shù)放在n中, 小數(shù)放在m中p=n*m; /先將n和m的乘積保存在p中, 以便求最小公倍數(shù)時用while (m!=0) /求n和m的最大公約數(shù)