《《c++程序設(shè)計》譚浩強課后習(xí)題答案》由會員分享,可在線閱讀,更多相關(guān)《《c++程序設(shè)計》譚浩強課后習(xí)題答案(13頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、《c++程序設(shè)計》譚浩強課后習(xí)題答案
第一章
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); cin>>a>>b>>c;
c=f(a,b,c);
cout}
int f(int x,int y,int z) {
int m;
if (xelse m=y;
if (zreturn(m);
}
1.8題
#include
2、using namespace std;
int main()
{
int a,b,c;
cin>>a>>b;
c=a+b;
coutreturn 0;
}
1.9題
#include using namespace std;
int main()
{
int a,b,c;
int add(int x,int y);
cin>>a>>b;
c=add(a,b);
coutreturn 0;
}
int add(int x,int y)
{int z;
z=x+y;
return(z);
}
2.3題
#include using namespac
3、e 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=+,c3=+;
coutcout}
2.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題
#inclu
4、de 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;
cout}
3.2題
#include #include
using namespace std;
int main ( )
{float h,r,l,s,sq,vq,vz;
const float pi=3.1415926;
coutcin>>r>>h;
l=2*pi*r;
s=r*r*pi;
sq=4*pi*r*r;
vq=3.0/4.0*pi
5、*r*r*r;
vz=pi*r*r*h;
cout>f;
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(); //將輸入的第一個字符賦給c1
c2=getchar(); //將輸入的第二個字符賦給c2
coutputchar(c1);
putchar(c2);
coutcoutcoutreturn 0;
}
3.4題另一解
#include
6、 using namespace std;
int main ( )
{char c1,c2;
coutc1=getchar(); //將輸入的第一個字符賦給c1
c2=getchar(); //將輸入的第二個字符賦給c2
coutputchar(c1);
putchar(44);
putchar(c2);
coutcoutcoutreturn 0;
}
3.5題
#include using namespace std;
int main ( )
{char c1,c2;
int i1,i2; //定義為整型
coutcin>>i1>>i2;
c1=i1;
7、c2=i2;
cout}
3.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;
coutcin>>a>>b>>c;
if(aif(bcout>a>>b>>c;
temp=(a>b)?a:b; /* 將a和b中的大者存入temp中*/
max=(temp>c)?temp:c; /* 將a和b中的大者與
8、c比較,最大者存入max */
coutreturn 0;
}
3.10題
#include using namespace std;
int main ( )
{int x,y;
coutcin>>x;
if (x{y=x;
cout}
else if (x{y=2*x-1;
cout}
else // x≥10
{y=3*x-11;
cout}
cout>score;
while (score>100||score{coutcin>>score;
}
switch(int(score/10))
{case 10:
case 9: grade=A;br
9、eak;
case 8: grade=B;break;
case 7: grade=C;break;
case 6: grade=D;break;
default:grade=E;
}
coutreturn 0;
}
3.12題
#include using namespace std;
int main ()
{long int num;
int indiv,ten,hundred,thousand,ten_thousand,place;
/*分別代表個位,十位,百位,千位,萬位和位數(shù)*/
coutcin>>num;
if (num>9999)
place=5
10、;
else if (num>999)
place=4;
else if (num>99)
place=3;
else if (num>9)
place=2;
else place=1;
cout//計算各位數(shù)字
ten_thousand=num/10000;
thousand=(int)(num-ten_thousand*10000)/1000;
hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;
ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*
11、100)/10;
indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);
coutswitch(place)
{case
5:coutcoutcoutbreak;
case 4:coutcoutcoutbreak;
case 3:coutcoutcoutbreak;
case 2:coutcoutcoutbreak;
case 1:coutcoutcoutbreak;
}
return 0;
}
3.13題
#include using namespace std;
int main
12、 ()
{ 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.015; //利潤為100萬元時的獎金
coutcin>>i;
if (ibonus=i*0.1; //利潤在10萬元以內(nèi)按10%提成獎
13、金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萬時的獎金else
bonus=bon10+(i-1000000)*0.01; //利潤在100萬元以上時的獎金
coutreturn 0;
}
14、
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;
coutcin>>i;
c=i/100000;
if (c>10) c=10;
switch(c)
{case 0: bonus=
15、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.1
16、4題
#include using namespace std;
int main ()
{int t,a,b,c,d;
coutcin>>a>>b>>c>>d;
coutif (a>b)
{t=a;a=b;b=t;}
if (a>c)
{t=a; a=c; c=t;}
if (a>d)
{t=a; a=d; d=t;}
if (b>c)
{t=b; b=c; c=t;}
if (b>d)
{t=b; b=d; d=t;}
if (c>d)
{t=c; c=d; d=t;}
coutcoutreturn 0;
}
3.15題
#include using namespace std;
int main ()
{int p,r,n,m,temp;
coutcin>>n>>m;
if (n{temp=n;
n=m;
m=temp; //把大數(shù)放在n中, 小數(shù)放在m中
}
p=n*m; //先將n和m的乘積保存在p中, 以便求最小公倍數(shù)時用while (m!=0) //求n和m的最大公約數(shù)