分享
分享赚钱 收藏 举报 版权申诉 / 112

类型C++程序设计(第二版-吴乃陵-况迎辉)课后答案.doc

  • 上传人:weiwoduzun
  • 文档编号:3611986
  • 上传时间:2018-11-13
  • 格式:DOC
  • 页数:112
  • 大小:1.43MB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    C++程序设计(第二版-吴乃陵-况迎辉)课后答案.doc
    资源描述:

    1、第一章 C+基础知识习题 1第一章 C+基础知识习题1.1 判断下列标识符的合法性。sin book 5arry _name Example2.1 main$1 class_cpp a3 x*y my name答:合法的:sin book _name main class_cpp a3非法的:5arry Example2.1 $1 x*y my name1.2 假定有下列变量:int a=3,b=5,c=0;float x=2.5,y=8.2,z=1.4;char ch1=a,ch2=5,ch3=0,ch4;求下列表达式的值,以及运算后表达式所涉及的各变量的值。x+(int)y%a x=z*b

    2、+,b=b*x,b+ ch4=ch3-ch2+ch1int(y/z)+(int)y/(int)z !(ab) int m=5; a char ch=aint array5=1,2,3,4,5; char s=“Hello“;答:“China“ 文字常量const int n=10; 常变量int m=5; 变量a 文字常量 1第一章 C+基础知识习题2char ch=a 变量int array5=1,2,3,4,5; 变量char s=“Hello“; 变量1.4 将下列算式或叙述用C+表达式描述。(1) 22)(arcsin2cx(2) (x+y)/(x-y)*ay)(3) 位于原点为圆心,

    3、a, b为半径的圆环中的点坐标。(4) 。 cba(5) 并且字符ch不为0。 20k答: pi/2+sqrt(asin(x)*asin(x)+c*c)(x+y)/(x-y)*pow(a,y)(x*x+y*y)=a*a)ch2=cin.get();cinch3;若从键盘输入:3 2 1.8 7 a b c执行后各变量取值如何?注意abc三字符两两间有空格。答:a是3,b是2,x是1.8,y是7,ch1是a,ch2是空格,ch3是b。1.7 设有语句:int a,b,c,d;cinoctabhexcdecd;若从键盘输入:23 23 23 23执行后各变量的值用十进制表示各是多少?答:a:19,

    4、b:19,c:35,d:231.8 对于习题1.7,若执行:cout5) if(b-a25) a+; else b/=a; 解答: 本题检查学生整除的概念。跟踪:a3b100b/a33循环次数1b-a974 100 25 2 9651002039515 100 6 13 8516 100 6 14 8417 100 5 停(1 )1 4(2 )1 7(3 )1 003.1.2 设有说 明:int n,x,k,y;下面程序段的功能是备选答案中的 (1 ) ,当n=1 0,x=10 打印结果是 (2 ) 。cinxn;k=0; do x/=2; k+;while(k=10) break; if(m

    5、%2=0)m+=5;continue;m-=3;解答:注意 continue 语句 的使用初值 m=1 k=0第 1 次循环 后 m=5 k=1第 2 次循环 m=2 k=2第 3 次循环 m=7 k=3第 4 次循环 m=4 k=4第 5 次循环 m=9 k=5第 6 次循环 m=6 k=6第 7 次循环 m=11 结束,k+ 未 做(1 ) 11(2 )6二 编 程 与 综 合 练 习 题3.2 编程求一 元二次方程 ax2+bx+c=0 的根。 包括以下判断和结果: 若输入 a=0, 给出 提示;第二章 基本控制结构程序设计习题 3若0 ,输出 两个 不等实根;若 =0, 输出两个相等实

    6、根;若 #include #include void main()double a,b,c;double delta,x1,x2;const double zero=1e-9; /定义一个很小的常数int sign;coutabc;if(fabs(a)0)sign=1;elsesign=0; delta=sqrt(fabs(delta); x1=-b/(2*a); x2=delta/(2*a);if(sign) coutvoid main()int mark,result; /mark是百分制成绩,result是 5分制coutmark;if(markvoid main()int i,j;fo

    7、r (i=1;i0;j-)/三角形每行前部的空格coutvoid main() char in; int i,j; docoutin;if(in=97)int line=in-A;for (i=0;i0;j-)cout0;i-)/下三角(少一行)for(j=0;j#include void main()int n;double result=0; /result是结果cinn;if(nconst int day=10;void main()int i,x=1;/最后一天只有一个for(i=1;i#include void main()int stem256,sum=0,pnum=0,nnum=

    8、0,i=0; coutstemi;while(stemi!=0) sum+=stemi;/求和 i f(stemi0) pnum+;/正数数量 e lse nnum+;/负数数量i+;cinstemi;if(!i) coutvoid main() int i; for(i=1;ivoid main()int i,a,sum_yz; /sum_yz是a的因子和for(a=1;avoid main()for(int i=0,j,k,count=0;i=0)cout#includeconst double e=1e-6;void main()double x,a,sum; int i=3; cout

    9、x;a=x; sum=x; doa*=x*x*(-1); sum+=a/i; i+=2;while(fabs(a/i)e);cout#include const double e=1e-5; void main()float x0,x1; int n=0; coutx1;dox0=x1;x1=(x0*x0-10*(x0*sin(x0)+cos(x0)/(2*x0-10*sin(x0);/x0是上次算出的结果,x1用作保存新算出的结果n+;while(fabs(x1-x0) e)int i=0,j,k,l,m,n;for(j=0;j#includevoid main()enum candidat

    10、efeipiao,zhang,wang,li,zhaocand;int vote5=0,i,k=0,n;cinn;while(n!=-1)k+;if(n=1for(i=0;ik/2) coutk/2) coutk/2) coutk/2) coutij kl;等,并输出 最后关闭文件:f ile.close();#include#includeconst int m=20;void main()int fib0=0,fib1=1,fib2,i,j,k,l;char ch,a256;ofstream ofile(“myfile3_16.txt“); ofilech;if(ch=y|ch=Y)ifs

    11、tream ifile(“myfile3_16.txt“);while(1)ifileijkl;/由文件读入第二章 基本控制结构程序设计习题 12if(ifile.eof()!=0) break;cout#include#include const int n=100; void main()int an,i,j; char ch,b256; ofstream ofile; ifstream ifile;for(i=0;ich;if(ch=y|ch=Y) ifile.open(“myfile3_17.txt“); i=0;while(ifile.get(bi)/不可用 ,它不能读白字符,第二章

    12、 基本控制结构程序设计习题 13if(bi=n) break;i+;bi=0; couti;/由文件读入 coutvoid main()char ch;int nline=0,nword=0,nch=0;int isword=0;ifstream ifile(“ep3_18.cpp“); coutusing namespace std;int a,b;void f(int j)第三章 函数习题 3static int i=a; /注意静态局部变量int m,n;m=i+j; i+; j+; n=i*j; a+;coutusing namespace std;float sqr(float a)

    13、return a*a;float p(float x,int n)coutusing namespace std;char capitalize(char ch)if(ch=aMaxCommonDevisor(int n,int m)int i;for( i=n;i=1;i-)if(n%i=0 return i;MinCommonMultiple(int n,int m)int i;for(i=n;iij;coutusing namespace std;digit(int num,int k)int s10=0,0,0,0,0,0,0,0,0,0;第三章 函数习题 7int i=0;do/先把

    14、整数转换为数字串si=num%10;num/=10;i+;while(num0);if(kusing namespace std;factors(int num,int k)/缺省返回值为整型int count=0;while(num%k=0)count+;num/=k;return count;int main()cout#includeusing namespace std;bool prime(int m)if(m=1|m=0) return false;第三章 函数习题 8if(m=2) return true;int k=(int)sqrt(m);for(int i=2;ik) re

    15、turn true;else return false;int main()for(int n=4;nusing namespace std;void PrintDiagram(int m)int i ;coutusing namespace std;Acm(int m,int n)if(m=0) return n+1;if(n=0) return Acm(m-1,1);return Acm(m-1,Acm(m,n-1);int main()coutusing namespace std;double P(int n,double x)if(n=0) return 1;if(n=1) retu

    16、rn x;return (2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x)/n;int main()coutusing namespace std;inline max(int a,int b,int c)if(abif(bareturn c;第三章 函数习题 10int main()cout=0inline bool IfDigitChar(char ch)if(ch=0while(ch!=!)if(IfDigitChar(ch) coutch;return 0;3.13 设计两个重载函数,分别求两个整数相除的余数和两个实数相除的余数。两个实数求余定义为实数四舍五入取整后相除

    17、的余数。解:实数四舍五入取整,正数是+0.5取整,负数是-0.5取整。#include#includeusing namespace std;mod(int n,int m)return n%m;round(double x) /四舍五入函数if(x=0) return int(x+0.5);else return int(x-0.5);mod(double x,double y)return round(x)%round(y);int main()coutusing namespace std;#include“area.h“int main()double a,b,r;coutr;cout

    18、ab;cout0)for(i=0;i0)p2(w-1);for(i=0;i0)for(i=0;i0)for(i=0;i#include using namespace std;enum YRY2000,Y2001,Y2002,Y2003,Y2004,Y2005;/enum MTJan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec;class Timedateprivate:YR year; MT month; int date;int hh; int mm; int ss;public: Timedate()year=Y2000;month=Jan;d

    19、ate=1;hh=0;mm=0;ss=0; Timedate(YR a,MT b,int c)year=a; month=b; date=c;hh=12;mm=30;ss=0;第四章 类与对象习题 6void getdate(YR /使用引用一次取得3 个数值void gettime(int void putdate(YR ,MT ,int ); void puttime(int ,int ,int ); void list();void Timedate:getdate(YR m=month; d=date;void Timedate:gettime(int b=mm; c=ss;void

    20、Timedate:putdate(YR a,MT b,int c)year=a; month=b; date=c;void Timedate:puttime(int a,int b,int c)hh=a; mm=b; ss=c;void Timedate:list()/成员函数 ,直接访问私有的数据成员cout#include using namespace std; class Rectangle double left, top ;double right, bottom;public:Rectangle(double l=0, double t=0, double r=0, double b=0); Rectangle(); /析构函数,在此函数体为空void Assign(double l,double t,double r,double b);double getLeft() return left; / 以下四个函数皆为内联成 员函数double getRight() return right;double getTop()return top;double getBottom()return bottom;void Show(); double Area(); double Perimeter();

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:C++程序设计(第二版-吴乃陵-况迎辉)课后答案.doc
    链接地址:https://www.docduoduo.com/p-3611986.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开