您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C++课后习题答案(杨志强-龚沛增)-完整版
第一章一、选择题CABCAACB二、填充题1.main()2.数字0-9、下划线3.字符串4.#include#define5.hex6..h7.语法错误和逻辑错误8.Insert/RemoveBreakpoint9..cpp10.Fileview三、简答题1.C++是C语言的超集。C++中的类和对象部分,C语言没有,C++是面向对象的程序设计。见教材P3。2.C/C++程序是由一个或多个函数组成,其中必须要有一个main()函数。在一个函数内,语句的执行是从上到下的。3.a?,3a,a-b,f(x),AD,a.txt,D$,∏,double4.C/C++程序书写形式自由。一行可以写多条语句,一条语句也可以分别写在不同行上。区别大小写字母。5.用尖括号时,预处理程序在系统指定的文件夹中寻找文件;用双引号时,预处理程序首先在当前文件所在的文件目录中寻找文件,若找不到再到系统指定的文件夹中查找。6.最好的调试手段是设置断点,并让程序运行到该断点,然后在Debug窗口观察各变量的值,从中发现错误。第二章一、选择题BCDCDCCCBB二、1.(x+y)!=(a+b)2.pow(log(10)+x*y),3)3.sin(w*u)/(cos(45*180/3.14)+3*pow(x,y))4.exp(3)+sqrt(2*x+3*y)5.fabs(x-y)+(x+y)/(3*x)6.1/(1/r1+1/r2+1/r3)三、1.ad||bd2.z=xy?x:y3.x0&&y04.x+yz||y+zz||x+zy5.(int)(x*100+0.5)/100.6.d0&&d=100&&d%2==07.x%5==0||y%5==08.n%k==0?n/k:n/k+1四、1#includeiostream.hvoidmain(){floatr,h,v;cinrh;v=3.1416*r*r*h;coutv;}2.#includeiostream.hvoidmain(){floata,b,c,ave,min;cinabc;ave=(a+b+c)/3;min=(ab)?a:b;min=(cmin)?c:min;coutave=avemin=minendl;}3.#includeiostream.hvoidmain(){charc1='1',c2='2';intx;x=10*(c1-'0')+c2-'0';coutxendl;}4.#includeiostream.hvoidmain(){intx;intc1,c2,c3;cinx;c1=x/100;c2=x/10%10;c3=x%10;x=100*c3+10*c2+c1;coutxendl;}5.解1:#includeiostream.hvoidmain(){intyear,x;cinyear;x=year%400==0||year%4==0&&year%100!=0;x!=0?coutyearisaleapyear!:coutyearisnotaleapyear!;}解2:#includeiostream.hvoidmain(){intyear;charx;cinyear;x=(year%400==0||year%4==0&&year%100!=0)?'y':'n';coutxendl;}6.#includeiostream.h#includemath.hvoidmain(){doublex,y;cinx;y=log(x*x+3)/log(10)+3.14/2*cos(40*3.14/180);couty;}第三章一、1.C2.D3.D(该答案后还应附“其他值”)4.C5.B6.C7.A8.C9.B二、(1)输入两个正整数给m和n。(2)20(3)s=288(4)AB20ega5(5)******三、(1)c==')'count==0count0count(2)cinmnm=m-nn=n-m(3)n=mn=n/5m=m+5四、1.#includeiostream.h#includemath.hvoidmain(){floatx,y;coutinputx:endl;cinx;if(x5)y=fabs(x);elseif(x20)y=3*x*x-2*x+1;elsey=x/5;coutx=x,y=yendl;}2.#includeiostream.hvoidmain(){floats,p,t,w;coutinputs:endl;cins;switch(int(s)/1000){case0:p=0;break;case1:p=0.05;break;case2:p=0.08;break;case3:case4:p=0.1;break;default:p=0.15;break;}t=s*p;w=s-t;cout纳税款=t,实得工资=wendl;}3.#includeiostream.hvoidmain(){intm,count=0;for(m=100;m1000;m++){if(m%10+m/10%10+m/100==5)count++;}coutcount=countendl;}4.#includeiostream.hvoidmain(){intm,n;for(m=0;m=30;m++)for(n=0;n=30;n++)if(m*2+n*4==90&&m+n==30)cout鸡:m兔:nendl;}5.#includeiostream.hvoidmain(){floate=1,t=1;intn;for(n=1;1/t1e-6;n++){t=t*n;e=e+1/t;}coute=eendl;}6.#includeiostream.hvoidmain(){intx,y;for(x=1;x=100;x++)for(y=1;y=100;y++)if(x*x+2*x==y*y*y)coutx=x,y=yendl;}7.#includeiostream.h#includestdio.hvoidmain(){charch;while((ch=getchar())!='.')if(ch=='')coutendl;elsecoutch;}8.#includeiostream.h#includemath.hvoidmain(){intm,k1,k2;for(m=0;m=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)coutm是满足条件的数endl;}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#includeiostream.h#includemath.hvoidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y0)x1=x;elsex2=x;}while(fabs(x2-x1)eps);coutx;}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)x[i]2.(1)rand()%101(2)ja[i]/2(3)A(i)=3.(1)b[m]=0(2)nm+4(3)b[m]=b[m]/44.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)jM&&kN(3)c[l]=a[j](4)c[l++]=b[k++](5)kN(6)jM四、1.(1)#includestdlib.h#includeiostream.hvoidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i4;i++)for(j=0;j4;j++)a[i][j]=rand()%41+30;for(i=0;i4;i++)for(j=0;j4;j++)b[i][j]=rand()%35+101;cout矩阵A的内容如下:\n;for(i=0;i4;i++){for(j=0;j4;j++)couta[i][j]'';coutendl;}cout矩阵B的内容如下:\n;for(i=0;i4;i++){for(j=0;j4;j++)coutb[i][j]'';coutendl;}for(i=0;i4;i++)for(j=0;j4;j++)c[i][j]=a[i][j]+b[i][j];cout矩阵C的内容如下:\n;for(i=0;i4;i++){for(j=0;j4;j++)coutc[i][j]'';coutendl;}}(2)#includestdlib.h#includeiostream.hvoidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i4;i++)for(j=0;j4;j++)a[i][j]=rand()%41+30;for(i=0;i4;i++)for(j=0;j4;j++)b[i][j]=rand()%35+101;cout矩阵A的内容如下:\n;for(i=0;i4;i++){for(j=0;j4;j++)couta[i][j]'';coutendl;}cout矩阵B的内容如下:\n;for(i=0;i4;i++){for(j=0;j4;j++)coutb[i][j]'';coutendl;}for(i=0;i4;i++)for(j=0;j4;j++)c[i][j]=a[i][j]+b[i][j];cout矩阵C的内容如下:\n;for(i=0;i4;i++){for(j=0;j4;j++)coutc[i][j]'';coutendl;}max=c[0][0];for(i=0;i4;i++)for(j=0;j4;j++)if(c[i][j]max){max=c[i][j];imax=i;jmax=j;}coutmax=c[imax][jmax]=maxendl;}(3)#includestdlib.h#includeiostream.hvoidmain(){inta[4][4],b[4][4],i,j;for(i=0;i4;i++)for(j=0;j4;j++)a[i][j]=rand()%41+30;for(i=0;i4;i++)for(j=0;j4;j++)b[i][j]=rand()%35+101;cout矩阵A的主对角线以下元素内容如下:\n;for(i=0;i4;i++){for(j=0;j=i;j++)couta[i][j]'';coutendl;}cout矩阵B的主对角线以上元素内容如下:\n;for(i=0;i4;i++){for(j=i;j4;j++)coutb[i][j]'';coutendl;}}(4)#includest
本文标题:C++课后习题答案(杨志强-龚沛增)-完整版
链接地址:https://www.777doc.com/doc-4220321 .html