收藏 分享(赏)

《c++程序设计》谭浩强课后习题与答案.doc

上传人:精品资料 文档编号:10732323 上传时间:2020-01-03 格式:DOC 页数:131 大小:360KB
下载 相关 举报
《c++程序设计》谭浩强课后习题与答案.doc_第1页
第1页 / 共131页
《c++程序设计》谭浩强课后习题与答案.doc_第2页
第2页 / 共131页
《c++程序设计》谭浩强课后习题与答案.doc_第3页
第3页 / 共131页
《c++程序设计》谭浩强课后习题与答案.doc_第4页
第4页 / 共131页
《c++程序设计》谭浩强课后习题与答案.doc_第5页
第5页 / 共131页
点击查看更多>>
资源描述

1、 .Word 范文第一章1.5题#include using namespace std;int main()coutusing namespace std;int main()int a,b,c;a=10;b=23;c=a+b;coutusing namespace std;int main()int a,b,c;int f(int x,int y,int z);cinabc;c=f(a,b,c);coutusing namespace std;int main()int a,b,c;cinab;c=a+b;coutusing namespace std;int main()int a,b,

2、c;int add(int x,int y);cinab;c=add(a,b);coutusing namespace std;int main()char c1=a,c2=b,c3=c,c4=101,c5=116;coutusing namespace std;int main()char c1=C,c2=+,c3=+;.Word 范文coutusing namespace std;int main()int i,j,m,n;i=8;j=10;m=+i+j+;n=(+i)+(+j)+m;coutusing namespace std;int main()char c1=C, c2=h, c3

3、=i, c4=n, c5=a;c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;cout#include using namespace std;int main ( )float h,r,l,s,sq,vq,vz;const float pi=3.1415926;coutrh;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;coutusing namespace std;int main ()float c,f;coutf;c=(5.0/9.0)*(f-32); /注意 5和 9要用实型表示,否则 5/9值

4、为 0coutusing namespace std;int main ( )char c1,c2;coutusing namespace std;int main ( )char c1,c2;coutusing namespace std;int main ( )char c1,c2; int i1,i2; /定义为整型couti1i2;c1=i1;c2=i2;coutusing namespace std;int main ( ) int a=3,b=4,c=5,x,y;coutc int main ( )int a,b,c;coutabc;if(ausing namespace std;

5、int main ( )int a,b,c,temp,max ;coutabc;temp=(ab)?a:b; /* 将 a和 b中的大者存入 temp中 */max=(tempc)?temp:c; /* 将 a和 b中的大者与 c比较,最大者存入 max */coutusing namespace std;int main ( )int x,y;coutx;if (xusing namespace std;int main ()float score;char grade;coutscore;while (score100|scorescore;switch(int(score/10)case

6、 10:case 9: grade=A;break;case 8: grade=B;break;case 7: grade=C;break;case 6: grade=D;break;default:grade=E; coutusing namespace std;int main ()long int num;int indiv,ten,hundred,thousand,ten_thousand,place; /*分别代表个位,十位,百位,千位,万位和位数 */coutnum;if (num9999)place=5;else if (num999)place=4;else if (num99

7、)place=3;else if (num9)place=2;else place=1;.Word 范文coutusing 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万元时的奖金.Word 范文bon10=bon6+400

8、000*0.015; /利润为 100万元时的奖金couti;if (iusing 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;couti;c=i/100000;if (c10) c=10;switch(c)case 0: bonus=i*0.1; break;case 1:

9、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:.Word 范文case 9: bonus=bon6+(i-600000)*0.015; break;case 10: bonus=bon10+(i-1000000)*0.01;coutusing namespace std;int main ()int t,a,b,c,d;coutabcd;c

10、outb)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;coutusing namespace std;int main ()int p,r,n,m,temp;coutnm; if (nusing namespace std;int main ()char c;int letters=0,space=0,digit=0,other=0;cout=a int main ()int a,n,i=1,sn=0,t

11、n=0;coutan;while (iusing namespace std;int main ()float s=0,t=1;int n;for (n=1;nusing namespace std;int main ()int i,j,k,n;coutusing 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;a1) cout1表示 a至少有 2个因子 if (n2) cout2表示至少有 3个因子,故应再输出一个因子 if (

12、n3) cout3表示至少有 4个因子,故应再输出一个因子 if (n4) cout5) cout6) cout7) cout8) cout9) coutusing namespace std;int main()int m,s,i;for (m=2;musing namespace std;int main()int k11;int i,a,n,s;for (a=2;ausing namespace std;int main()int i,t,n=20;double a=2,b=1,s=0;for (i=1;iusing namespace std;int main()int day,x1,

13、x2;day=9;x2=1;while(day0)x1=(x2+1)*2; / 第 1天的桃子数是第 2天桃子数加 1后的 2倍 x2=x1;day-;cout#include using namespace std;int main()float a,x0,x1;couta; / 输入 a的值 x0=a/2;.Word 范文x1=(x0+a/x0)/2;dox0=x1;x1=(x0+a/x0)/2;while(fabs(x0-x1)=1e-5);coutusing namespace std;int main()int i,k;for (i=0;iusing namespace std;in

14、t main()char i,j,k; /* i是 a的对手;j 是 b的对手;k 是 c的对手*/for (i=X;iusing namespace std;int main()int hcf(int,int);int lcd(int,int,int);int u,v,h,l;cinuv;h=hcf(u,v);coutu)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);4.2题#include #include using namespace std;float x1

15、,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;coutabc;disc=b*b-4*a*c;cout0).Word 范文greater_than_zero(a,b);cout0时方 程的根 */x1=(-b+sqrt(disc)/(2*a);x2=(-b-sqrt(disc)/(2*a);void equal_to_zero(float a,float b) /

16、* 定义一个函数,用来求 disc=0时方程 的根 */x1=x2=(-b)/(2*a);void smaller_than_zero(float a,float b) /* 定义一个函数,用来求 discusing namespace std;int main()int prime(int); /* 函数原型声明 */int n;coutn;if (prime(n).Word 范文coutusing namespace std;int main()int fac(int); int a,b,c,sum=0;coutabc;sum=sum+fac(a)+fac(b)+fac(c);cout#i

17、nclude using namespace std;int main()double e(double); double x,sinh;coutx;sinh=(e(x)+e(-x)/2;.Word 范文cout#include using namespace std;int main()double solut(double ,double ,double ,double );double a,b,c,d;coutabcd;cout=1e-5);return(x);int Gcd_2(int a, int b)/ 欧几里德算法求 a, b的最大公约数 if (a 0) /b总是表示较小的那个

18、数,若不是则交换 a,b 的值 temp = a % b; /迭代关系式 a = b; /a是那个胆小鬼,始终跟在 b的后面 b = temp; /b向前冲锋占领新的位置 return a; 4.7题.Word 范文#include #include using namespace std;int main()void godbaha(int);int n;coutn;godbaha(n);return 0;void godbaha(int n) int prime(int);int a,b;for(a=3;ak) return 1;else return 0;4.8题/递归法#include

19、 using namespace std;int main()int x,n;float p(int,int);coutnx;coutusing namespace std;int main()void hanoi(int n,char one,char two,char three);int m;coutm;cout“using namespace std;int main()void convert(int n);int number;coutnumber;coutusing namespace std;int main()int f(int);int n,s;coutn;s=f(n);c

20、out#include .Word 范文using namespace std;#define S(a,b,c) (a+b+c)/2#define AREA(a,b,c) sqrt(S(a,b,c)*(S(a,b,c)-a)*(S(a,b,c)-b)*(S(a,b,c)-c)int main()float a,b,c;coutabc;if (a+bc /#define LETTER 1 int main()char c;cinc;#if LETTER if(c=a #define CHANGE 1int main()char ch40;cout=aint a;int main()extern

21、int power(int);int b=3,c,d,m;coutam;c=a*b;coutusing namespace std;int main()cout#include using namespace std;#include int main()int i,j,n,a101;for (i=1;iusing namespace std;/#include int main()int i,j,min,temp,a11;coutai; /输入 10个数 coutaj) min=j;temp=ai; /以下 3行将 ai+1a10中最小者与 ai 对换ai=amin;amin=temp;co

22、utusing namespace std;int main()int a10,e,k,t;for (int i=0;iai;for (int i=0;i#include using namespace std;int main()int a1010;for (int i=0;iusing namespace std;.Word 范文int main()char *p;int i=0;char c100;gets(c);p=c;while (*p!=0) i+;p+;coutusing namespace std;int main()int a33,sum=0;int i,j;coutaij;

23、for (i=0;iusing namespace std;int main()int a11=1,4,6,9,13,16,19,28,40,100;int num,i,j;coutnum;if (numa9)a10=num;elsefor (i=0;inum)for (j=9;j=i;j-)aj+1=aj;.Word 范文ai=num;break;coutusing namespace std;int main() const int n=5;int an,i,temp;coutai;cout#include using namespace std;int main()const int n

24、=11;int i,j,ann;for (i=1;iusing namespace std;int main() const int n=4,m=5; /假设数组为 4行 5列 int i,j,anm,max,maxj;bool flag;for (i=0;iaij;for (i=0;imax)max=aij; /将本行的最大数存放在 max中maxj=j; /将最大数所在的列号存放在 maxj中flag=true; /先假设是鞍点,以 flag为真代表for (int k=0;kakmaxj) /将最大数和其同列元素相比flag=false; /如果 max不是同列最小,表示不是鞍点令 flag1为 假continue;if(flag) /如果 flag1为真表示是鞍点cout“a“i“maxj“=“maxendl;/输出鞍点的值和所在行列号break; if(!flag) /如果 flag为假表示鞍点不存在cout“It does not exist!“endl;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报