C++大学教程习题解答第七版.docx
《C++大学教程习题解答第七版.docx》由会员分享,可在线阅读,更多相关《C++大学教程习题解答第七版.docx(53页珍藏版)》请在冰点文库上搜索。
C++大学教程习题解答第七版
第六章函数和递归入门
6.12
#include
#include
#include
usingnamespacestd;
doublecalculateCharges(doublehours);
intmain()
{
doublehours1,hours2,hours3;
cout<<"Inputthehoursofcar:
";
cin>>hours1>>hours2>>hours3;
cout<(2);
cout<<"Car"<cout<<"1"<cout<<"2"<cout<<"3"<cout<<"TOTAL"<<}
doublecalculateCharges(doublehours)
{
if((hours>0)&&(hours<=3))
return2.0;
else
if((hours>3)&&(hours<=19))
return2.00+ceil(hours-3)*0.5;
else
return10;
}
6.14
#include
#include
#include
usingnamespacestd;
doubleroundToInteger(double);
doubleroundToTenths(double);
doubleroundToHundredths(double);
doubleroundToThousandths(double);
intmain()
{
doublex;
cout<<"PleaseInputthenumber:
";
cin>>x;
cout<<"roundToInteger:
"<cout<<"roundToTenths:
"<cout<<"roundToHundredths:
"<cout<<"roundToThousandths:
"<}
doubleroundToInteger(doublenumber)
{
returnfloor(number+.5);
}
doubleroundToTenths(doublenumber)
{
returnfloor(number*10+.5)/10;
}
doubleroundToHundredths(doublenumber)
{
returnfloor(number*100+.5)/100;
}
doubleroundToThousandths(doublenumber)
{
returnfloor(number*1000+.5)/1000;
}
6.16
#include
#include
#include
#include
usingnamespacestd;
intmain()
{
srand(time(0));
intx;
x=1+rand()%1;
cout<<"x="<x=1+rand()%100;
cout<<"x="<x=0+rand()%9;
cout<<"x="<x=1000+rand()%112;
cout<<"x="<x=-1+rand()%2;
cout<<"x="<x=-3+rand()%15;
cout<<"x="<}
6.17
#include
#include
#include
#include
usingnamespacestd;
intmain()
{
intarray1[]={2,4,6,8,10};
intarray2[]={3,5,7,9,11};
intarray3[]={6,10,14,18,22};
srand(time(0));
for(inti=0;i<3;i++)
{
cout<<"第̨²"<
随?
机¨²结¨¢果?
:
"<cout<<"\t第̨²一°?
组Á¨¦数ºy据Y中D的Ì?
随?
机¨²数ºy:
"<cout<<"\t第̨²二t组Á¨¦数ºy据Y中D的Ì?
随?
机¨²数ºy:
"<cout<<"\t第̨²三¨y组Á¨¦数ºy据Y中D的Ì?
随?
机¨²数ºy:
"<cout<}
return(0);
}
6.18
#include
usingnamespacestd;
intintegerPower(int,int);
intmain()
{
intx,y;
cout<<"Pleaseinputthebase:
";
cin>>x;
cout<<"plesaeinputtheexponent:
";
cin>>y;
cout<<"integerPower("<}
intintegerPower(intbase,intexponent)
{
intvalue1=1;
for(intcounter=1;counter<=exponent;counter++)
value1*=base;
returnvalue1;
}
6.19
#include
#include
#include
usingnamespacestd;
doublehypotenuse(double,double);
intmain()
{
doublex,y;
cout<<"Pleaseinputtheside1:
";
cin>>x;
cout<<"plesaeinputtheside2:
";
cin>>y;
cout<<"hypotenuse="<(2)<}
doublehypotenuse(doubleside1,doubleside2)
{
returnsqrt(pow(side1,2)+pow(side2,2));
}
6.20
#include
#include
usingnamespacestd;
boolmultiple(double,double);
intmain()
{
intx,y;
cout<<"Pleaseinputtwointegernumbers:
";
loop:
cin>>x>>y;
cout<//if(multiple(x,y)==1)
//cout<<"true\n";
//else
//cout<<"false\n";
gotoloop;
}
boolmultiple(doublenumber1,doublenumber2)
{
if(ceil(number2/number1)==floor(number2/number1))
returntrue;
else
returnfalse;
}
6.21
#include
#include
usingnamespacestd;
booliseven(int);
intmain()
{
intx;
cout<<"Pleaseinputtheintegernumber:
";
cin>>x;
cout<//if(multiple(x,y)==1)
//cout<<"true\n";
//else
//cout<<"false\n";
}
booliseven(intnumber)
{
if(number%2==0)
returntrue;
else
returnfalse;
}
6.22
#include
usingnamespacestd;
voidprintSar(int);
intmain()
{
intx;
cout<<"Pleaseinputtheintegernumber:
";
cin>>x;
printSar(x);
return0;
}
voidprintSar(intnumber)
{
for(intcounter1=1;counter1<=number;counter1++)
{
for(intcounter=1;counter<=number;counter++)
cout<<'*';
cout<}
}
6.23
#include
usingnamespacestd;
voidprintSar(int,char);
charfillCharacter(char);
intmain()
{
intx;
charc;
cout<<"Pleaseinputtheintegernumberandcharacter:
";
cin>>x;
cin>>c;
printSar(x,c);
return0;
}
voidprintSar(intnumber,charcharacter)
{
for(intcounter1=1;counter1<=number;counter1++)
{
for(intcounter=1;counter<=number;counter++)
cout<cout<}
}
charfillCharacter(charCharacter)
{
returnCharacter;
}
6.24
#include
usingnamespacestd;
intDivide(int,int);
intRemainder(int,int);
intNumberOrder(int);
intmain()
{
intx,y;
shortz;
cout<<"Pleaseinputtwointegernumberstouse:
";
cin>>x;
cin>>y;
cin>>z;
cout<<"Theresultofdivide:
"<cout<<"\nTheRemainderofdivide:
"<cout<<"thenumberof"<";
NumberOrder(z);
}
intDivide(intnumber1,intnumber2)
{
returnnumber1/number2;
}
intRemainder(intnumber1,intnumber2)
{
returnnumber1%number2;
}
intNumberOrder(intnumber3)
{
for(intcounter=1,mode=1;counter<=5;counter++)
{
mode=mode*10;
if(Remainder(number3,mode)==number3)
{
for(intcounter1=counter-1,mode1=mode;counter1>=1,mode1=mode1/10;counter1--)
{
cout<<""<number3=Remainder(number3,mode1);
}
cout<}
}
return0;
}
6.25
#include
#include
usingnamespacestd;
doubleTimeFunction(int,int,int);
intmain()
{
intH_1,M_1,S_1;
intH_2,M_2,S_2;
charColon1,Colon2;
cout<<"Pleaseinputthefirsttime:
";
cin>>H_1>>Colon1>>M_1>>Colon2>>S_1;
cout<<"Thesecondsfromthelastclockstruck12o'clockis:
"<cout<<"Pleaseinputthesecondtime:
";
cin>>H_2>>Colon1>>M_2>>Colon2>>S_2;
cout<<"Thesecondsfromthelastclockstruck12o'clockis:
"<cout<<"Thenumberofsecondsbetweentwotimesare:
"<}
doubleTimeFunction(intHours,intMinutes,intSeconds)
{
returnHours*3600+Minutes*60+Seconds;
}
6.26
#include
#include
usingnamespacestd;
doubleFahrenheit(int);
doubleCelsius(int);
intmain()
{
intDegreeFahrenheit;//华a氏º?
温?
度¨¨
intDegreeCelsius;//摄¦?
氏º?
温?
度¨¨
cout<(2);
cout<<"PleaseinputtheDegreeFahrenheit:
";
cin>>DegreeFahrenheit;
cout<<"DegreeCelsiusis:
"<cout<<"PleaseinputtheDegreeCelsius:
";
cin>>DegreeCelsius;
cout<<"DegreeFahrenheitis:
"<cout<<"thetableofDegreeCelsius-----DegreeFahrenheit"<for(intcounter=0,i=1;counter<=100;counter++)
{
cout<if(i%10==0)
cout<i++;
}
cout<<"\nthetableofDegreeFahrenheit-----DegreeCelsius"<for(intcounter=32,i=1;counter<=212;counter++)
{
cout<if(i%10==0)
cout<i++;
}
}
doubleFahrenheit(inttemperature)
{
returntemperature*1.8+32;
}
doubleCelsius(inttemperature)
{
return(temperature-32)/1.8;
}
6.27
#include
#include
usingnamespacestd;
doublemin(double,double,double);
intmain()
{
doublex,y,z;
cout<<"pleaseinputthreedoublenumbers:
";
cin>>x>>y>>z;
cout<<"theminimumnumberis"<}
doublemin(doublex,doubley,doublez)
{
doubleT;
T=xx:
y;
returnTT:
z;
}
6.28
#include
#include
usingnamespacestd;
intisperfect(int);
intmain()
{
cout<<"perfectnumbers:
"<for(intcounter=1;counter<=1000;counter++)
{
if(isperfect(counter)==counter)
cout<}
}
intisperfect(intnumber)
{
intsum=0;
intcounter1;
for(counter1=1;counter1if(number%counter1==0)
sum+=counter1;
returnsum;
}
6.29
#include
#include
#include
usingnamespacestd;
boolisprime(int);
intmain()
{
cout<<"thenumbersbetween2and10000is:
"<for(intcounter1=2,i=0;counter1<=10000;counter1++)
{
if(isprime(counter1)==true)
{
cout<i++;
if(i%10==0)
cout<}
}
}
boolisprime(intnumber)
{
if(num