return0;
}
intadd(intx,inty)
{intc;
c=x+y;
return(c);
}
10:
#include
usingnamespacestd;
intmain()
{voidsort(intx,inty,intz);
intx,y,z;
cin>>x>>y>>z;
sort(x,y,z);
return0;
}
voidsort(intx,inty,intz)
{
inttemp;
if(x>y){temp=x;x=y;y=temp;}2-4-12-4-22-5-12-5-2Boxbox1Boxbox1core;
intk=0;
for(inti=1;i<5;i++)
if(arr[i].score>max_score){max_score=arr[i].score;k=i;}
cout<}
6:
#include
usingnamespacestd;
classStudent
{public:
Student(intn,floats):
num(n),score(s){}
voidchange(intn,floats){num=n;score=s;}
voiddisplay(){cout<private:
intnum;
floatscore;
};
intmain()
{Studentstud(101,;
();
(101,;
();
return0;
}
7:
解法一
#include
usingnamespacestd;
classStudent
{public:
Student(intn,floats):
num(n),score(s){}
voidchange(intn,floats){num=n;score=s;}
voiddisplay(){cout<otal();
Product:
:
display();
return0;
}
10:
#include
usingnamespacestd;
classDate;
classTime
{public:
Time(int,int,int);
friendvoiddisplay(constDate&,constTime&);
private:
inthour;
intminute;
intsec;
};
Time:
:
Time(inth,intm,ints)
{hour=h;
minute=m;
sec=s;
}
classDate
{public:
Date(int,int,int);
friendvoiddisplay(constDate&,constTime&);
private:
intmonth;
intday;
intyear;
};
Date:
:
Date(intm,intd,inty)
{month=m;
day=d;
year=y;
}
voiddisplay(constDate&d,constTime&t)
{
cout<<<<"/"<<<<"/"<<<cout<<<<":
"<<<<":
"<<<}
intmain()
{
Timet1(10,13,56);
Dated1(12,25,2004);
display(d1,t1);
return0;
}
11:
#include
usingnamespacestd;
classTime;
classDate
{public:
Date(int,int,int);
friendTime;
private:
intmonth;
intday;
intyear;
};
Date:
:
Date(intm,intd,inty):
month(m),day(d),year(y){}
classTime
{public:
Time(int,int,int);
voiddisplay(constDate&);
private:
inthour;
intminute;
intsec;
};
Time:
:
Time(inth,intm,ints):
hour(h),minute(m),sec(s){}
voidTime:
:
display(constDate&d)
{
cout<<<<"/"<<<<"/"<<<cout<"<"<}
intmain()
{
Timet1(10,13,56);
Dated1(12,25,2004);
(d1);
return0;
}
12:
#include
usingnamespacestd;
template
classCompare
{public:
Compare(numtypea,numtypeb);
numtypemax();
numtypemin();
private:
numtypex,y;
};
template
Compare:
:
Compare(numtypea,numtypeb)
{x=a;y=b;}
template
numtypeCompare:
:
max()
{return(x>y)x:
y;}
template
numtypeCompare:
:
min()
{return(xy;}
intmain()
{Comparecmp1(3,7);
cout<<()<<"istheMaximumoftwointegernumbers."<cout<<()<<"istheMinimumoftwointegernumbers."<Comparecmp2,;
cout<<()<<"istheMaximumoftwofloatnumbers."<cout<<()<<"istheMinimumoftwofloatnumbers."<Comparecmp3('a','A');
cout<<()<<"istheMaximumoftwocharacters."<cout<<()<<"istheMinimumoftwocharacters."<return0;
}
第四章
1:
#include
usingnamespacestd;
classComplex
{public:
Complex(){real=0;imag=0;}
Complex(doubler,doublei){real=r;imag=i;}
doubleget_real();
doubleget_imag();
voiddisplay();
private:
doublereal;
doubleimag;
};
doubleComplex:
:
get_real()
{returnreal;}
doubleComplex:
:
get_imag()
{returnimag;}
voidComplex:
:
display()
{cout<<"("<Complexoperator+(Complex&c1,Complex&c2)
{
returnComplex()+(),()+());
}
intmain()
{Complexc1(3,4),c2(5,-10),c3;
c3=c1+c2;
cout<<"c3=";
();
return0;
}
2:
#include
usingnamespacestd;
classComplex
{public:
Complex(){real=0;imag=0;}
Complex(doubler,doublei){real=r;imag=i;}
Complexoperator+(Complex&c2);
Complexoperator-(Complex&c2);
Complexoperator*(Complex&c2);
Complexoperator/(Complex&c2);
voiddisplay();
private:
doublereal;
doubleimag;
};
ComplexComplex:
:
operator+(Complex&c2)
{Complexc;
=real+;
=imag+;
returnc;}
ComplexComplex:
:
operator-(Complex&c2)
{Complexc;
=;
=;
returnc;}
ComplexComplex:
:
operator*(Complex&c2)
{Complexc;
=real**;
=imag*+real*;
returnc;}
ComplexComplex:
:
operator/(Complex&c2)
{Complexc;
=(real*+imag*/*+*;
=(imag**/*+*;
returnc;}
voidComplex:
:
display()
{cout<<"("<intmain()
{Complexc1(3,4),c2(5,-10),c3;
c3=c1+c2;
cout<<"c1+c2=";
();
c3=c1-c2;
cout<<"c1-c2=";
();
c3=c1*c2;
cout<<"c1*c2=";
();
c3=c1/c2;
cout<<"c1/c2=";
();
return0;
}
3:
#include,"president","135BeijingRoad,Shanghai","(021)",;
();
return0;
}
10:
#include
#include
usingnamespacestd;
classTeacherum<<""<((char*)&staf[i],sizeof(staf[i]));}
cout<<"pleaseinputdatayouwantinsert:
"<for(i=0;i<2;i++)
{cin>>>>>>>>;
(0,ios:
:
end);
((char*)&staf1,sizeof(staf1));}
(0,ios:
:
beg);
for(i=0;i<7;i++)
{((char*)&staf[i],sizeof(staf[i]));
cout<}
boolfind;
cout<<"enternumberyouwantsearch,enter0tostop.";
cin>>num;
while(num)
{find=false;
(0,ios:
:
beg);
for(i=0;i<7;i++)
{((char*)&staf[i],sizeof(staf[i]));
if(num==staf[i].num)
{m=();
cout<cout<find=true;
break;
}
}
if(!
find)
cout<<"can'tfind"<cout<<"enternumberyouwantsearch,enter0tostop.";
cin>>num;
}
();
return0;
}
6:
解法一
#include
#include
usingnamespacestd;
structstudent
{intnum;
charname[20];
doublescore;
};
intmain()
{studentstud[3]={1001,"Li",78,1002,"Wang",,1004,"Fun",90},stud1[3];
charc[50];
inti;
ostrstreamstrout(c,50);
for(i=0;i<3;i++)
strout<strout<cout<<"arrayc:
"<istrstreamstrin(c,50);
for(i=0;i<3;i++)
strin>>stud1[i].num>>stud1[i].name>>stud1[i].score;
cout<<"datafromarrayctoarraystud1:
"<for(i=0;i<3;i++)
cout<cout<return0;
}
6:
解法二
#include
#include
usingnamespacestd;
structstudent
{intnum;
charname[20];
doublescore;
};
intmain()
{inti;
studentstud[3]={1001,"Li",78,1002,"Wang",,1004,"Fun",90},stud1[3];
charc[50];
strstreamstrio(c,50,ios:
:
in|ios:
:
out);
for(i=0;i<3;i++)
strio<strio<cout<<"arrayc:
"<for(i=0;i<3;i++)
strio>>stud1[i].num>>stud1[i].name>>stud1[i].score;
cout<<"datafromarrayctoarraystud1:
"<for(i=0;i<3;i++)
cout<cout<return0;
}
第八章
1:
#include
#include
usingnamespacestd;
doubleq(double,double,double);
voidmain()
{doublea,b,c,p,x1,x2;
cout<<"pleaseentera,b,c:
";
cin>>a>>b>>c;
p=-b/(2*a);
try
{x1=p+q(a,b,c);
x2=p-q(a,b,c);
cout<<"x1="<}
catch(doubled)
{cout<<"a="<"<cout<<"end"<}
doubleq(doublea,doubleb,doublec)
{doubledisc;
disc=b*b-4*a*c;
if(disc<0)throwdisc;
returnsqrt(disc)/(2*a);
}
2:
#include
#include
usingnamespacestd;
classStudent
{public:
Student(intn,stringnam)
{cout<<"constructor-"<num=n;name=nam;}
~Student(){cout<<"destructor-"<voidget_data();
private:
intnum;
stringname;
};
voidStudent:
:
get_data()
{if(num==0)thrownum;
elsecout<cout<<"inget_data()"<}
voidfun()
{Studentstud1(1101,"tan");
();
try
{Studentstud2(0,"Li");
();
}
catch(intn)
{cout<<"num="<"<}
intmain()
{cout<<"mainbegin"<cout<<"callfun()"<fun();
cout<<"mainend"<return0;
}
3:
//mainfile
#include
usingnamespacestd;
#include""
#include""
usingnamespacestd;
usingnamespacestudent1;
intmain()
{Studentstud1(1001,"Wang",18,"123BeijingRoad,Shanghua");
();
student2:
:
Studentstud2(1102,"Li",'f',;
();
return0;
}
//,文件名为
#include
namespacestudent1
{classStudent
{public:
Student(intn,stringnam,inta,stringaddr)
{num=n;name=nam;age=a;address=addr;}
voidshow_data();
private:
intnum;
stringname;
intage;
stringaddress;
};
voidStudent:
:
show_data()
{cout<<"num:
"<"<"<<<"address:
"<
}