C++程序设计(第2版)课后习题答案--第4章
2012-12-13 16:19
543 查看
C++程序设计(第2版)课后习题答案--第4章 控制结构
View Code
View Code
//4.10 设计一个程序,输入实型变量x和y,若x>y,则输出 x-y;若x<y,则输出 y-x。 #include <iostream.h> #include <stdio.h> void main() { int x,y; printf("请输入两个数,中间用空格隔开:\n"); cin>>x>>y; if(x>y) cout<<x-y<<endl; else cout<<y-x<<endl; } // 4.11 #include <iostream.h> #include <stdio.h> #include <math.h> void main() { int x,i,j,b,c,d,e; int a=0; printf("请输入一个数:\n"); cin>>x; b=x; while(b>0) { i=b%10; b=b/10; a++; } cout<<"输入数为"<<a<<"位数"<<endl; printf("输入数的每一位数为:\n"); c=x; while(c>0&&a>0) { d=c/pow(10,(a-1)); c-=d*pow(10,(a-1)); cout<<d<<endl; a--; } cout<<"与输入数逆序为:"<<endl; while(x>0) { j=x%10; x/=10; cout<<j; } cout<<endl; } // 4.12 #include <iostream.h> void main() { float i,j,a,b; cout<<"请输入若干个数,中间用空格隔开,并以“.”号结束"<<endl; cin>>i>>j; while(i>0&&j>0){ if (i>j) { cin>>j; a=i; } else { cin>>i; b=j; } } if(a>b) cout<<a<<endl; else cout<<b<<endl; } // 4.13 #include <iostream.h> void main() { float a,b,c; cout<<"请输入若3个数,中间用空格隔开"<<endl; cin>>a>>b>>c; if(a+b>c&&a+c>b&&b+c>a) cout<<"这三个数能构成三角形的三边"<<endl; else cout<<"这三个数不能构成三角形的三边"<<endl; } // 4.14 #include <iostream.h> void main() { int a,b,c; cout<<"请输入若3个数,中间用空格隔开"<<endl; cin>>a>>b>>c; if(a+b>c&&a+c>b&&b+c>a) cout<<"这三个数能构成三角形的三边"<<endl; else cout<<"这三个数不能构成三角形的三边"<<endl; } // 4.15 #include <iostream.h> void main() { int i,j; int a=1; cout<<"二进制"<<'\t'<<"十进制"<<'\t'<<"八进制"<<'\t'<<"十六进制"<<endl; for(;a<=156;a++) { i=a; while (i>0) { j=i%2;i=i/2; cout<<j; } cout<<'\t'<<dec<<a<<'\t'<<oct<<a<<'\t'<<hex<<a<<endl; } } // 4.16 #include <iostream.h> void main() { int a,b,c,d; int max1,max2,min1,min2; cout<<"请输入四个数"<<endl; cin>>a>>b>>c>>d; if(a>b) { max1=a; min1=b; } else { max1=b; min1=a; } if(c>d) { max2=c; min2=d; } else { max2=d; min2=c; } cout<<"这四个数由大到小的排列顺序为:"<<endl; if(max1>max2) { cout<<max1<<" "; if(min1>min2) { if(max2>min1) cout<<max2<<" "<<min1<<" "<<min2<<endl; else if(max2>min2) cout<<min1<<" "<<max2<<" "<<min2<<endl; else cout<<min1<<" "<<min2<<" "<<max2<<endl; } else { if(max2>min2) cout<<max2<<" "<<min2<<" "<<min1<<endl; else if(max2>min1) cout<<min2<<" "<<max2<<" "<<min1<<endl; else cout<<min2<<" "<<min1<<" "<<max2<<endl; } } else { cout<<max2<<" "; if(min1>min2) { if(max1>min1) cout<<max1<<" "<<min1<<" "<<min2<<endl; else if(max1>min2) cout<<min1<<" "<<max1<<" "<<min2<<endl; else cout<<min1<<" "<<min2<<" "<<max1<<endl; } else { if(max1>min2) cout<<max1<<" "<<min2<<" "<<min1<<endl; else if(max1>min1) cout<<min2<<" "<<max1<<" "<<min1<<endl; else cout<<min2<<" "<<min1<<" "<<max1<<endl; } } } // 4.17 #include <iostream.h> void main() { cout<<"请按照下面方程的格式,分别输入六个参数,中间用空格隔开"<<endl; cout<<"a1x+b1y=c1"<<endl<<"a2x+b2y=c2"<<endl; float a1,a2,b1,b2,c1,c2,x,y; cout<<"请按顺序输入 a1,b1,c1,a2,b2,c2"<<endl; cin>>a1>>b1>>c1>>a2>>b2>>c2; x=(b2*c1-b1*c2)/(a1*b2-a2*b1); y=(a2*c1-a1*c2)/(a2*b1-a1*b2); cout<<"x="<<x<<endl; cout<<"y="<<y<<endl; } // 4.18 #include <iostream.h> void main() { cout<<"请输入一个百分制的成绩"<<endl; int a; cin>>a; if(a<0||a>100) { cout<<"你输入一个错误的数字,请重新输入"<<endl; } switch(a/10) { case 9: cout<<"A"<<endl; break; case 8: cout<<"B"<<endl; break; case 7: cout<<"C"<<endl; break; case 6: cout<<"D"<<endl; break; case 5: case 4: case 3: case 2: case 1: case 0: cout<<"E"<<endl; break; } } // 4.19 #include <iostream.h> void main() { cout<<"请输入一个正整数"<<endl; int a,b; int c=0; cin>>a; int i=2; cout<<"该正数的因子为:"<<endl; for(;i<=a;i++) { b=c; if(a%i==0) c=a/i; if(c!=b) cout<<c<<endl; } } // 4.20 #include <iostream.h> void main() { cout<<"请输入一个正整数"<<endl; int a,i; int sum=0; cin>>a; for (;a>0;) { i=a%10; sum+=i; a/=10; } cout<<"这个正整数的各位数字的和为:"<<sum<<endl; } // 4.21 #include <iostream.h> #include <stdio.h> void main() { int a=2; int b=1; float sum=0; for(int i=1;i<=20;i++){ sum+=(float)(a)/b; int c; c=a+b; b=a; a=c; } cout<<"数列的和为:"<<sum<<endl; } // 4.22 #include <iostream.h> void main() { int a,b,c,sum; for(int i=100;i<1000;i++) { a=(i/100)%10;b=(i/10)%10;c=i%10; sum=a*a*a+b*b*b+c*c*c; if(sum==i) cout<<"水仙花数为:"<<sum<<endl; } } // 4.23 #include <iostream.h> void main() { int b; int a=1; cout<<"1000以内的完数为:"<<endl; while(a<1000) { int sum=0; for(int i=2;i<=a;i++) { int c=0; b=c; if(a%i==0) c=a/i; if(c!=b) sum+=c; } if(sum==a) cout<<sum<<endl; a++; } } // 4.24 #include <iostream.h> void main() { float d; float a=0; float b=1; float c=2; cout<<a<<endl<<b<<endl<<c<<endl; for(int n=3;n<=19;n++) { d=b*c+a; a=b; b=c; c=d; cout<<c<<endl; } } // 4.25 #include <iostream.h> void main() { float c,F; cout<<"请输入一个华氏度"<<endl; cin>>F; c=(F-32)*5/9; cout<<"这个华氏度所对应的摄氏度为:"<<c<<endl; } 4.26 // 4.26 #include <iostream.h> void main() { int i; int a=1; int sum=0; cout<<"请输入若干个整数,中间用空格隔开"<<endl; cin>>i; while(i>=0) { sum+=i; cin>>i; cout<<"sum="<<sum<<' '<<a<<endl; a++; } } // 4.27 #include <iostream.h> void main() { cout<<" C++程序设计 p103 4.27 第一个图"<<endl<<endl; for(int i=1;i<=10;i++) { for(int j=1;j<=i;j++) cout<<'*'; cout<<endl; } cout<<endl<<" C++程序设计 p103 4.27 第二个图"<<endl<<endl; for (int a=1;a<=10;a++) { for(int b=10;b>=a;b--) cout<<'*'; cout<<endl; } cout<<endl<<" C++程序设计 p103 4.27 第三个图"<<endl<<endl; for (int c=1;c<=10;c++) { for(int d=1;(c-d)>0;d++) cout<<" "; for(int e=10;e>=c;e--) cout<<'*'; cout<<endl; } cout<<endl<<" C++程序设计 p103 4.27 第四个图"<<endl<<endl; for (int f=1;f<=10;f++) { for(int g=10;g>=f;g--) cout<<" "; for(int h=1;(f-h)>=0;h++) cout<<'*'; cout<<endl; } cout<<endl<<" C++程序设计 p103 4.27 四个图并排输出"<<endl<<endl; // while的用法和for差不多,最后一个就用while,做一遍 int x=1; while(x<=10) { int a1=1; while(a1<=x) { cout<<'*'; a1++; } int b1=10; while(b1>=x) { cout<<" "; b1--; } int b2=10; while(b2>=x) { cout<<'*'; b2--; } int a2=1; while(a2<=x) { cout<<" "; a2++; } int a3=1; while(a3<=x) { cout<<" "; a3++; } int b3=10; while(b3>=x) { cout<<'*'; b3--; } int b4=10; while(b4>=x) { cout<<" "; b4--; } int a4=1; while(a4<=x) { cout<<'*'; a4++; } x++; cout<<endl; } cout<<endl; } // 4.28 #include <iostream.h> int main() { char A,B,C; int count=1; for(A='X';A<='Z';A++) for(B='X';B<='Z';B++) for(C='X';C<='Z';C++) if((A!=B && B!=C && C!=A) && (C!='Y') && (A!='X')) { cout<<"第"<<count<<"种名单:"<<endl; cout<<"A-"<<A<<endl; cout<<"B-"<<B<<endl; cout<<"C-"<<C<<endl; count++; } }
相关文章推荐
- C++程序设计(第2版)课后习题答案--第8章
- C++程序设计(第2版)课后习题答案--第13章
- C++程序设计(第2版)课后习题答案--第11章
- C++程序设计(第二版)谭浩强----程序题课后习题答案第三章
- C++程序设计(第二版)谭浩强----程序题课后习题答案第二章
- C++程序设计课后习题及解答(第七章)
- C++程序设计语言课后习题10章15题
- 数据结构与算法分析(C++语言版)_张琨版 第一章课后习题答案
- C++primer第5版课后练习习题答案 9.4
- C++ primer plus课后答案第4章
- C程序设计谭浩强版课后习题答案
- C++Primer Plus笔记——第四章 复合类型及课后习题答案
- C++ primer plus 第十章课后习题,原创答案。
- C++primer第5版课后练习习题答案9.16
- 计算机网络第4章及第5章课后习题答案
- C++primer第5版课后练习习题答案9.5
- C++primer第5版课后练习习题答案 9.20
- C++Primer Plus笔记——第二章 开始学习C++及课后习题答案
- C++primer第5版课后练习习题答案9.28
- c++石头-剪刀-布游戏c++程序设计原理与实践第4章习题