C++程序设计(第2版 谭浩强)习题答案 下载本文

cout<<\ for (n=100;n<1000;n++) {i=n/100; j=n/10-i*10; k=n;

if (n == i*i*i + j*j*j + k*k*k) cout<

cout<

20.第一种:#include

using namespace std; int main() {int m,s,i;

for (m=2;m<1000;m++) {s=0;

for (i=1;i

if ((m%i)==0) s=s+i; if(s==m)

{cout<

if (m%i==0) cout<

return 0; }

第二种:#include using namespace std; int main() {int k[11]; int i,a,n,s;

for (a=2;a<=1000;a++) {n=0; s=a;

for (i=1;i

k[n]=i; // 将找到的因子赋给k[1]┅k[10] }

if (s==0)

{cout<

return 0; }

21.#include

using namespace std; int main()

{int i,t,n=20;

double a=2,b=1,s=0; for (i=1;i<=n;i++) {s=s+a/b; t=a;

a=a+b; // 将前一项分子与分母之和作为下一项的分子 b=t; // 将前一项的分子作为下一项的分母 }

cout<<\ return 0; }

22.#include

using namespace std; int main()

{int day,x1,x2; day=9; x2=1;

while(day>0)

{x1=(x2+1)*2; // 第1天的桃子数是第2天桃子数加1后的2倍 x2=x1; day--; }

cout<<\ return 0; }

23.#include

#include using namespace std;

int main()

{float a,x0,x1;

cout<<\ cin>>a; // 输入a的值 x0=a/2;

x1=(x0+a/x0)/2; do

{x0=x1;

x1=(x0+a/x0)/2; }

while(fabs(x0-x1)>=1e-5);

cout<<\ return 0; }

24.#include

using namespace std; int main() {int i,k;

for (i=0;i<=3;i++) // 输出上面4行*号 {for (k=0;k<=2*i;k++)

cout<<\ // 输出*号

cout<

for (i=0;i<=2;i++) // 输出下面3行*号 {for (k=0;k<=4-2*i;k++)

cout<<\ // 输出*号

cout<

}

25.#include

using namespace std; int main()

{char i,j,k; /* i是a的对手;j是b的对手;k是c的对手*/ for (i='X';i<='Z';i++) for (j='X';j<='Z';j++) if (i!=j)

for (k='X';k<='Z';k++) if (i!=k && j!=k) if (i!='X' && k!='X' && k!='Z') cout<<\ B--\ C--\ return 0;

}

第4章

1.#include

using namespace std; int main()

{int hcf(int,int); int lcd(int,int,int); int u,v,h,l; cin>>u>>v; h=hcf(u,v);

cout<<\ l=lcd(u,v,h);

cout<<\ return 0; }

int hcf(int u,int v) {int t,r; if (v>u)

{t=u;u=v;v=t;}

while ((r=u%v)!=0) {u=v; v=r;} return(v); }

int lcd(int u,int v,int h) {return(u*v/h);

}

2.#include

#include using namespace std; float x1,x2,disc,p,q; int main()

{void greater_than_zero(float,float); void equal_to_zero(float,float); void smaller_than_zero(float,float); float a,b,c;

cout<<\ cin>>a>>b>>c; disc=b*b-4*a*c; cout<<\