• 377.50 KB
  • 2022-04-22 11:51:18 发布

《c++程序设计》第二版高等教育出版社课后习题答案1-4.doc

  • 58页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'当前位置:学习资源下载>课后习题答案第一章C++基础知识习题1.1判断下列标识符的合法性。sinbook5arry_nameExample2.1main$1class_cppa3x*ymyname答:合法的:sinbook_namemainclass_cppa3非法的:5arryExample2.1$1x*ymyname1.2假定有下列变量:inta=3,b=5,c=0;floatx=2.5,y=8.2,z=1.4;charch1=’a’,ch2=’5’,ch3=’0’,ch4;求下列表达式的值,以及运算后表达式所涉及的各变量的值。x+(int)y%ax=z*b++,b=b*x,b++ch4=ch3-ch2+ch1int(y/z)+(int)y/(int)z!(a>b)&&c&&(x*=y)&&b++ch3||(b+=a*c)||c++z=(a<<2)/(b>>1)答:x+(int)y%a值为:4.5x=z*b++,b=b*x,b++值为:42,x为7,b为43ch4=ch3-ch2+ch1值为:’\’int(y/z)+(int)y/(int)z值为:13!(a>b)&&c&&(x*=y)&&b++值为:0,b为5注:只要出现一个false右边的不再做。ch3||(b+=a*c)||c++值为:1,c为0注:只要出现一个true,右边不再做。z=(a<<2)/(b>>1)值为:61.3判断下列哪些是常量,哪些是变量。"China"constintn=10;intm=5;"a"charch="a"intarray[5]={1,2,3,4,5};chars[]="Hello";答:"China"文字常量constintn=10;常变量intm=5;变量"a"文字常量charch="a"变量intarray[5]={1,2,3,4,5};变量chars[]="Hello";变量1.4将下列算式或叙述用C++表达式描述。(1)(2)(x+y)/((x-y)*ay)(3)位于原点为圆心,a,b为半径的圆环中的点坐标。(4)。(5)并且字符ch不为""。 答:pi/2+sqrt(asin(x)*asin(x)+c*c)(x+y)/((x-y)*pow(a,y))((x*x+y*y)>=a*a)&&((x*x+y*y)<=b*b)(a!=b)&&(a!=c)&&(b!=c)(k<=20)&&(ch!="")1.6设有语句:inta,b;floatx,y;charch1,ch2,ch3;cin>>a>>b>>x>>y>>ch1;ch2=cin.get();cin>>ch3;若从键盘输入:321.87abc执行后各变量取值如何?注意abc三字符两两间有空格。答:a是3,b是2,x是1.8,y是7,ch1是’a’,ch2是空格,ch3是’b’。1.7设有语句:inta,b,c,d;cin>>oct>>a>>b>>hex>>c>>dec>>d;若从键盘输入:23232323执行后各变量的值用十进制表示各是多少?答:a:19,b:19,c:35,d:231.8对于习题1.7,若执行:cout<课后习题答案第二章基本控制结构程序设计习题一.基本概念与基础知识自测题2.1程序阅读题2.1.1设有说明:inta=3,b=100;下面的循环语句执行(1)次,执行后a、b的值分别为(2)、(3)。while(b/a>5){if(b-a>25)a++;elseb/=a; }解答:本题检查学生整除的概念。跟踪:abb/a循环次数b-a310033197410025296510020395……………15100613851610061484171005停(1)14(2)17(3)1002.1.2设有说明:intx,y,n,k;下面程序段的功能是备选答案中的(1),当n=10,x=10打印结果是(2)。cin>>x>>n;k=0;do{x/=2;k++;}while(k=10)break;if(m%2==0){m+=5;continue;}m-=3;}解答:注意continue语句的使用初值m=0k=1第1次循环后m=5k=2第2次循环后m=2k=3第3次循环后m=7k=4第4次循环后m=4k=5第5次循环后m=9k=6第6次循环后m=6k=7第7次循环后m=11k=8第8次循环m=11结束k=8,k++未做(1)11(2)8二.编程与综合练习题2.2有一个函数:编写程序,输入x,输出y。解:#includeusingnamespacestd;intmain(){doublex,y;cout<<"输入x="; cin>>x;if(x<1)y=x;elseif(x<10)y=2*x-1;elsey=3*x-11;cout<<"y="<usingnamespacestd;intmain(){intmark,result;//mark是百分制成绩,result是5分制cout<<"请输入百分制成绩:"<>mark;if(mark<0){cout<<"缺考!"<usingnamespacestd;intmain(){doubleincome,tax=0;intk;cout<<"请输入个人月收入:"<>income;if(income<=1200){cout<<"免征个人所得税"<20000){k=income/20000;switch(k){default:tax+=(income-100000)*0.45;income=100000;case4:tax+=(income-80000)*0.40;income=80000;case3:tax+=(income-60000)*0.35;income=60000;case2:tax+=(income-40000)*0.30;income=40000;case1:tax+=(income-20000)*0.25;income=20000;}}if(income>5000){tax+=(income-5000)*0.20;income=5000;}if(income>2000){tax+=(income-2000)*0.15;income=2000;}if(income>500){ tax+=(income-500)*0.10;income=500;}tax+=income*0.05;cout<<"应征所得税:"<usingnamespacestd;intmain(){inti,j;for(i=1;i<=4;i++){for(j=4-i;j>0;j--)cout<<"";//三角形每行前部的空格for(j=1;j<=2*i-1;j++)cout<<"*";cout<usingnamespacestd;intmain(){charin;inti,j;do{ cout<<"输入一个字母:";cin>>in;if((in>=97)&&(in<=122))in-=32;//小写改大写}while((in<65)||(in>90));intline=in-"A";for(i=0;i<=line;i++){//上三角for(j=line-i;j>0;j--)cout<<"";//前方空格for(j=1;j<=2*i+1;j++)cout<<""<0;i--){//下三角(少一行)for(j=0;j<=line-i;j++)cout<<"";for(j=1;j<=2*i-1;j++)cout<<""<#includeusingnamespacestd;intmain(){intn,i,jch=1;doubleresult=0;//result是结果cout<<"请输入正整数n:"<>n;if(n<1){cout<<"输入错误!"<usingnamespacestd;constintday=10;intmain(){inti,x=1;//最后一天只有一个for(i=1;i#includeusingnamespacestd;intmain(){intstem[256],sum=0,pnum=0,nnum=0,i=0;cout<<"从键盘输入一组非0整数,以输入0标志结束:"<>stem[i];while(stem[i]!=0){sum+=stem[i];//求和if(stem[i]>0)pnum++;//正数数量elsennum++;//负数数量i++;cin>>stem[i];}if(!i)cout<<"0个数"<usingnamespacestd;intmain(){inti; for(i=1;i<=500;i++)if((i%3==2)&&(i%5==3)&&(i%7==2))cout<usingnamespacestd;intmain(){inti,a,sum_yz;//sum_yz是a的因子和for(a=1;a<1000;a++){sum_yz=0;for(i=1;iusingnamespacestd;intmain(){inti,j,k,count=0;for(i=0;i<=10;i++)//i是10元张数,j是5元张数,k是1元张数for(j=0;j<=20;j++){k=100-10*i-5*j;if(k>=0){cout<#includeusingnamespacestd;constdoublee=1e-5;intmain(){doublex,a,sum;inti=3;cout<<"请输入正切值:"<>x;a=x;sum=x;do{a*=x*x*(-1);sum+=a/i;i+=2;}while(fabs(a/i)>e);cout<<"arctg("<#includeusingnamespacestd;constdoublee=1e-5;intmain(){doublex0,x1;intn=0;cout<<"输入初始近似值:"<>x1;do{x0=x1;x1=(x0*x0-10*(x0*sin(x0)+cos(x0)))/(2*x0-10*sin(x0));//x0是上次算出的结果,x1用作保存新算出的结果n++;}while((fabs(x1-x0)>e)&&(n<=1e5));if(n>1e5)cout<<"超出迭代1e5次n"; elsecout<<"方程x*x+10*cos(x)=0的一个根为:"<usingnamespacestd;intmain(){charst1[5]={"A","B","C","D","E"},st2[5]={"J","K","L","M","N"};inti=0,j,k,l,m,n;for(j=0;j<5;j++){//0号位if(j==0)continue;//A选手不与选手J比赛,即st1[0]不与st2[0]比赛for(k=0;k<5;k++){//1号位if(k==j)continue;//剔除乙队占据0号位的选手for(l=0;l<5;l++){//2号位if(l==j||l==k)continue;//剔除乙队占据0、1号位的选手for(m=0;m<5;m++){//3号位if(m==j||m==k||m==l)continue;//剔除乙队占据0、1、2号位的选手if(m==3)continue;//st1[3]不与st2[3]比赛,即D不与M比赛for(n=0;n<5;n++){//4号位if(n==j||n==k||n==l||n==m)continue;//剔除乙队占据0、1、2、3号位的选手if(n==3)continue;//st1[4]不与st2[3]比赛,即E不与M比赛cout<#includeusingnamespacestd;intmain(){enumcandidate{feipiao,zhang,wang,li,zhao}cand;intvote[5]={0},i,k=0,n;cin>>n;while(n!=-1){k++;if(n>=1&&n<=4)vote[n]++;elsevote[0]++;cin>>n;}for(i=0;i<5;i++){cand=(candidate)i;switch(cand){casefeipiao:cout<k/2)cout<<"当选"<k/2)cout<<"当选"<k/2)cout<<"当选"<k/2)cout<<"当选"<>i>>j>>k>>l;等,并输出最后关闭文件:file.close();#include#include#includeusingnamespacestd;constintm=20;intmain(){intfib0=0,fib1=1,fib2,i,j,k,l,n;charch;ofstreamofile("myfile2_17.txt");ofile<>ch;if(ch=="y"||ch=="Y"){ifstreamifile("myfile2_17.txt");while(1){ifile>>i>>j>>k>>l>>n;//由文件读入if(ifile.eof()!=0)break;cout<#include#include#includeusingnamespacestd;constintn=100;intmain(){inta[n],i,j;charch,b[256];ofstreamofile;ifstreamifile;for(i=0;i>ch;if(ch=="y"||ch=="Y"){ifile.open("myfile2_18.txt");i=0;while(ifile.get(b[i])){//不可用>>,它不能读白字符,if(b[i]=="n")break;i++;}b[i]="";cout<>i;//由文件读入cout<#includeusingnamespacestd;intmain(){charch;intnline=0,nword=0,nch=0;intisword=0;ifstreamifile("ep2_19.cpp");cout<<"读入ep2_19.cpp"<课后习题答案第三章函数习题一.基本概念与基础知识自测题3.1填空题3.1.1被定义为形参的是在函数中起(1)作用的变量,形参只能用(2)表示。实参的作用是(3),实参可以用(4)、(5)、(6)表示。答案:(1)自变量(2)变量名(3)将实际参数的值传递给形参(4)具有值的变量(5)常量(6)表达式3.1.2局部域包括(1)、(2)和(3)。使用局部变量的意义在于(4)。答案:(1)块域(2)函数域(3)函数原型域(4)局部变量具有局部作用域使得程序在不同块中可以使用同名变量3.1.3静态局部变量存储在(1)区,在(2)时候建立,生存期为(3),如定义时未显式初始化,则其初值为(4)。答案:(1)全局数据区(2)编译(3)全局生存期(4)全03.1.4局部变量存储在(1)区,在(2)时候建立,生存期为(3),如定义时未显式初始化,则其初值为(4)。答案:(1)栈(2)在函数或块开始执行时(3)函数或块的执行期(4)随机值3.1.5编译预处理的作用是(1),预处理指令的标志是(2)。多文件系统中,程序由(3)来管理,用户自定义头文件中通常定义一些(4)。 答案:(1)将源程序文件进行处理,生成一个中间文件,编译系统对此中间文件进行编译并生成目标代码(2)#(3)工程文件(4)用户构造的数据类型(如枚举类型),外部变量,外部函数、常量和内联函数等具有一定通用性或常用的量3.1.6设有函数说明如下:intf(intx,inty){returnx%y+1;}假定a=10,b=4,c=5,下列语句的执行结果分别是(1)和(2)。(1)cout<usingnamespacestd;inta,b; voidf(intj){staticinti=a;//注意静态局部变量intm,n;m=i+j;i++;j++;n=i*j;a++;cout<<"i="<usingnamespacestd;floatsqr(floata){returna*a;}floatp(floatx,intn){cout<<"in-process:"<<"x="<usingnamespacestd;charcapitalize(charch){if(ch>="a"&&ch<="z")returnch-"a"+"A";elsereturnch;}intmain(){inti=0;charcp[30];cout<<"请输入包含小写字母的句子:"<usingnamespacestd;MaxCommonDevisor(intn,intm){inti;for(i=n;i>=1;i--)if(n%i==0&&m%i==0)break;returni;}MinCommonMultiple(intn,intm){inti;for(i=n;i<=n*m;i++)if(i%n==0&&i%m==0)break;returni;} intmain(){inti,j;cout<<"请输入两个整数:"<>i>>j;cout<<"最大公约数:"<usingnamespacestd;digit(intnum,intk){ints[10]={0,0,0,0,0,0,0,0,0,0};inti=0;do{//先把整数转换为数字串s[i]=num%10;num/=10;i++;}while(num>0);if(k<=i)returns[k-1];//题目中位数的下标从1开始,而数组下标从0开始elsereturn0;}intmain(){cout<<"digit(4647,3)="<usingnamespacestd;factors(intnum,intk){//缺省返回值为整型intcount=0;while(num%k==0){count++;num/=k;}returncount; }intmain(){cout<<"factors(1875,5)="<#includeusingnamespacestd;boolprime(intm){if(m==1||m==0)returnfalse;if(m==2)returntrue;intk=(int)sqrt(m);for(inti=2;i<=k;i++)//穷举法if(m%i==0)break;if(i>k)returntrue;elsereturnfalse;}intmain(){for(intn=4;n<=50;n+=2){for(inti=2;i<=n/2;i++)if(prime(i)&&prime(n-i))cout<usingnamespacestd;voidPrintDiagram(intm){inti; cout<<"|"<usingnamespacestd;Acm(intm,intn){if(m==0)returnn+1;if(n==0)returnAcm(m-1,1);returnAcm(m-1,Acm(m,n-1));}intmain(){cout<<"Acm(2,1)="<usingnamespacestd;doubleP(intn,doublex){if(n==0)return1;if(n==1)returnx;return((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/n;}intmain(){ cout<<"P(4,1.5)="<usingnamespacestd;inlinemax(inta,intb,intc){if(a>b&&a>c)returna;if(b>a&&b>c)returnb;returnc;}intmain(){cout<="0"&&ch<="9"来判断。#includeusingnamespacestd;inlineboolIfDigitChar(charch){if(ch>="0"&&ch<="9")return1;elsereturn0;}intmain(){charch;cout<<"请输入一个字符(输入“!”停止)"<>ch;while(ch!="!"){if(IfDigitChar(ch))cout<>ch;}return0;}3.13设计两个重载函数,分别求两个整数相除的余数和两个实数相除的余数。两个实数求余定义为实数四舍五入取整后相除的余数。解:实数四舍五入取整,正数是+0.5取整,负数是-0.5取整。 #include#includeusingnamespacestd;mod(intn,intm){returnn%m;}round(doublex){//四舍五入函数if(x>=0)returnint(x+0.5);elsereturnint(x-0.5);}mod(doublex,doubley){returnround(x)%round(y);}intmain(){cout<<"mod(8,3)="<usingnamespacestd;#include"area.h"intmain(){doublea,b,r;cout<<"inputradius:"<>r;cout<<"inputsidelength:"<>a>>b;cout<<"area("<#includeusingnamespacestd;classRectangle{doubleleft,top;doubleright,bottom;public: Rectangle(doublel=0,doublet=0,doubler=0,doubleb=0);~Rectangle(){};//析构函数,在此函数体为空voidAssign(doublel,doublet,doubler,doubleb);doublegetLeft(){returnleft;}//以下四个函数皆为内联成员函数doublegetRight(){returnright;}doublegetTop(){returntop;}doublegetBottom(){returnbottom;}voidShow();doubleArea();doublePerimeter();};//构造函数,带缺省参数,缺省值为全0,在声明中指定Rectangle::Rectangle(doublel,doublet,doubler,doubleb){left=l;top=t;right=r;bottom=b;}voidRectangle::Assign(doublel,doublet,doubler,doubleb){//赋值left=l;top=t;right=r;bottom=b;}voidRectangle::Show(){//成员函数直接使用私有的数据成员cout<<"left-toppointis("<#includeusingnamespacestd;classCircle{doubler,Area,Circumference;public:Circle(doublea=0);Circle(Circle&);voidSetR(doubleR);doubleGetR(){returnr;}doubleGetAreaCircle(){returnArea;}doubleGetCircumference(){returnCircumference;}};Circle::Circle(doublea){r=a;Area=r*r*3.14159265;Circumference=2*r*3.14159265;}Circle::Circle(Circle&cl){r=cl.r;Area=cl.Area;Circumference=cl.Circumference;}voidCircle::SetR(doubleR){r=R;Area=r*r*3.14159265;Circumference=2*r*3.14159265;}intmain(){Circlecl1(2),cl2,cl3=cl1;cout<<"圆半径:"<#includeusingnamespacestd;enumTsex{mid,man,woman};classPerson{charIdPerson[19];//身份证号,18位数字charName[20];//姓名TsexSex;//性别intBirthday;//生日,格式1986年8月18日写作19860818charHomeAddress[50];//家庭地址public:Person(char*,char*,Tsex,int,char*);Person(Person&);Person();~Person();voidPrintPersonInfo();voidinputPerson();//其他接口函数};Person::Person(char*id,char*name,Tsexsex,intbirthday,char*homeadd){cout<<"构造Person"<>ch;if(ch=="m")Sex=man;elseSex=woman;cout<<"请输入生日,格式1986年8月18日写作19860818:"<>Birthday;cin.get();//吸收回车符,否则地址输不进去cout<<"请输入地址:"<#includeusingnamespacestd;classRectangle{doubleleft,top;doubleright,bottom;public:Rectangle(doublel=0,doublet=0,doubler=0,doubleb=0);~Rectangle(){};//析构函数,在此函数体为空voidAssign(doublel,doublet,doubler,doubleb);doublegetLeft(){returnleft;}//以下四个函数皆为内联成员函数doublegetRight(){returnright;}doublegetTop(){returntop;}doublegetBottom(){returnbottom;}voidShow();friendvoidshowprint(Rectangle);doubleArea();doublePerimeter();};//构造函数,带缺省参数,缺省值为全0,在声明中指定Rectangle::Rectangle(doublel,doublet,doubler,doubleb){left=l;top=t;right=r;bottom=b;}voidRectangle::Assign(doublel,doublet,doubler,doubleb){//赋值left=l;top=t;right=r;bottom=b;}doubleRectangle::Area(){returnfabs((right-left)*(top-bottom));}doubleRectangle::Perimeter(){return2*(fabs(right-left)+fabs(top-bottom));}voidRectangle::Show(){//成员函数cout<<"left-toppointis("<usingnamespacestd;classcomplex{private:doublereal;//实部doubleimag;//虚部public:complex(doubler=0.0,doublei=0.0);//构造函数voidprint();//显示复数complexoperator+(complexc);//重载复数"+"complexoperator-(complexc);//重载复数"-"complexoperator*(complexc);//重载复数"*"complexoperator/(complexc);//重载复数"/"complexoperator+=(complexc);//重载复数"+="complexoperator-=(complexc);//重载复数"-="complexoperator*=(complexc);//重载复数"*="complexoperator/=(complexc);//重载复数"/="complexoperator++();//重载复数前缀"++"complexoperator++(int);//重载复数后缀"++" };complex::complex(doubler,doublei){real=r;imag=i;}complexcomplex::operator+(complexc){//重载复数"+"complextemp;temp.real=real+c.real;temp.imag=imag+c.imag;returntemp;//返回局部变量,函数声明不可为引用,这时返回了局部变量的地址}complexcomplex::operator-(complexc){//重载复数"-"complextemp;temp.real=real-c.real;temp.imag=imag-c.imag;returntemp;}complexcomplex::operator*(complexc){//重载复数"*"complextemp;temp.real=real*c.real-imag*c.imag;temp.imag=real*c.imag+imag*c.real;returntemp;}complexcomplex::operator/(complexc){//重载复数"/"complextemp;doubled;d=c.real*c.real+c.imag*c.imag;temp.real=(real*c.real+imag*c.imag)/d;temp.imag=(c.real*imag-real*c.imag)/d;returntemp;}complexcomplex::operator+=(complexc){//重载复数"+="complextemp;temp.real=real+c.real;temp.imag=imag+c.imag;real=temp.real;imag=temp.imag;returntemp;}complexcomplex::operator-=(complexc){//重载复数"-="complextemp;temp.real=real-c.real;temp.imag=imag-c.imag;real=temp.real; imag=temp.imag;returntemp;}complexcomplex::operator*=(complexc){//重载复数"*="complextemp;temp.real=real*c.real-imag*c.imag;temp.imag=real*c.imag+imag*c.real;real=temp.real;imag=temp.imag;returntemp;}complexcomplex::operator/=(complexc){//重载复数"/="complextemp;doubled;d=c.real*c.real+c.imag*c.imag;temp.real=(real*c.real+imag*c.imag)/d;temp.imag=(c.real*imag-real*c.imag)/d;real=temp.real;imag=temp.imag;returntemp;}complexcomplex::operator++(){//重载复数前缀"++"complextemp;temp.real=++real;temp.imag=++imag;returntemp;}complexcomplex::operator++(int){//重载复数后缀"++"complextemp(real,imag);real++;imag++;returntemp;}voidcomplex::print(){//显示复数cout<=0)cout<<"+";cout<classcomplex{private:doublereal;//实部doubleimag;//虚部public:complex(doubler=0.0,doublei=0.0);//构造函数voidprint();//显示复数friendcomplexoperator+(constcomplex&,constcomplex&);//重载复数"+" friendcomplexoperator-(constcomplex&,constcomplex&);//重载复数"-"friendcomplexoperator*(constcomplex&,constcomplex&);//重载复数"*"friendcomplexoperator/(constcomplex&,constcomplex&);//重载复数"/"friendcomplex&operator+=(complex&,constcomplex&);//重载复数"+="friendcomplex&operator-=(complex&,constcomplex&);//重载复数"-="friendcomplex&operator*=(complex&,constcomplex&);//重载复数"*="friendcomplex&operator/=(complex&,constcomplex&);//重载复数"/="friendcomplexoperator++(complex&);//重载复数前缀"++"friendcomplexoperator++(complex&,int);//重载复数后缀"++"};complex::complex(doubler,doublei){real=r;imag=i;}complexoperator+(constcomplex&c1,constcomplex&c2){//重载复数"+"complextemp;temp.real=c1.real+c2.real;temp.imag=c1.imag+c2.imag;returntemp;//返回局部变量,函数声明不可为引用,这时返回了局部变量的地址}complexoperator-(constcomplex&c1,constcomplex&c2){//重载复数"-"complextemp;temp.real=c1.real-c2.real;temp.imag=c1.imag-c2.imag;returntemp;}complexoperator*(constcomplex&c1,constcomplex&c2){//重载复数"*"complextemp;temp.real=c1.real*c2.real-c1.imag*c2.imag;temp.imag=c1.real*c2.imag+c1.imag*c2.real;returntemp;}complexoperator/(constcomplex&c1,constcomplex&c2){//重载复数"/"complextemp;doubled;d=(c2.real*c2.real+c2.imag*c2.imag);temp.real=(c1.real*c2.real+c1.imag*c2.imag)/d;temp.imag=(c2.real*c1.imag-c1.real*c2.imag)/d;returntemp;}complex&operator+=(complex&c1,constcomplex&c2){//重载复数"+="c1.real=c1.real+c2.real;c1.imag=c1.imag+c2.imag;returnc1;//返回由引用参数传递过来的变量,函数声明可为引用 }complex&operator-=(complex&c1,constcomplex&c2){//重载复数"-="c1.real=c1.real-c2.real;c1.imag=c1.imag-c2.imag;returnc1;}complex&operator*=(complex&c1,constcomplex&c2){//重载复数"*="complextemp;temp.real=c1.real*c2.real-c1.imag*c2.imag;temp.imag=c1.real*c2.imag+c1.imag*c2.real;c1=temp;returnc1;}complex&operator/=(complex&c1,constcomplex&c2){//重载复数"/="complextemp;doubled;d=(c2.real*c2.real+c2.imag*c2.imag);temp.real=(c1.real*c2.real+c1.imag*c2.imag)/d;temp.imag=(c2.real*c1.imag-c1.real*c2.imag)/d;c1=temp;returnc1;}complexoperator++(complex&c){//重载复数前缀"++"++c.real;++c.imag;returnc;}complexoperator++(complex&c,int){//重载复数后缀"++"complextemp(c.real,c.imag);c.real++;c.imag++;returntemp;}voidcomplex::print(){//显示复数cout<=0)cout<<"+";cout<ksi[0]=0x6f6d; s->ksi[1]=0x6e72;s->ksi[2]=0x6e69;s->ksi[3]=0x0067;cout<word<usingnamespacestd;unionchint{charword[10];shortintksi[5];};intmain(){//数字转换为字符串chintx,*s;s=&x;s->ksi[0]=0x6f63;s->ksi[1]=0x706d;s->ksi[2]=0x7475;s->ksi[3]=0x7265;s->ksi[4]=0x0021;cout<word<usingnamespacestd;classIntRMB{//人民币类private:intIYuan;intJiao;intFen;public:IntRMB(inty=0,intj=0,intf=0);//构造函数voidprint();//数据输出函数operatorfloat();//浮点数类型转换函数};IntRMB::IntRMB(inty,intj,intf){//构造函数IYuan=y;Jiao=j;Fen=f;}IntRMB::operatorfloat(){floattemp;temp=float(IYuan+(Jiao/10.0)+(Fen/100.0));returntemp;}voidIntRMB::print(){cout<