c++ primer plus第六版第二至第五章课后编程练习答案Word文档格式.docx
- 文档编号:20213533
- 上传时间:2023-01-19
- 格式:DOCX
- 页数:25
- 大小:20.82KB
c++ primer plus第六版第二至第五章课后编程练习答案Word文档格式.docx
《c++ primer plus第六版第二至第五章课后编程练习答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《c++ primer plus第六版第二至第五章课后编程练习答案Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
coutCdegreesCelsiusisFdegreesFahrenheit.endl;
doubleC2F(doublet)return1.8*t+32;
/ex2.6-convertthelightyearsvalvetoastronomicalunits-把光年转换为天文单位#includedoubleconvert(double);
/函数原型intmain()usingnamespacestd;
coutlight_years;
doubleastro_units;
astro_units=convert(light_years);
coutlight_yearslight_years=astro_unitsastronomicalunits.endl;
doubleconvert(doublet)return63240*t;
/1光年=63240天文单位/ex2.7-显示用户输入的小时数和分钟数#includevoidshow();
main()usingnamespacestd;
show();
voidshow()usingnamespacestd;
inth,m;
couth;
coutm;
coutTime:
h:
mendl;
第三章:
处理数据/ex3.1将身高用英尺(feet)和英寸(inch)表示#includeconstintinch_per_feet=12;
/const常量-1feet=12inches-1英尺=12英寸intmain()usingnamespacestd;
coutht_inch;
intht_feet=ht_inch/inch_per_feet;
/取商intrm_inch=ht_inch%inch_per_feet;
/取余coutyourheightisht_feetfeet,andrm_inchinchesn;
/ex3.2-计算相应的bodymassindex(体重指数)#includeconstintinch_per_feet=12;
constdoublemeter_per_inch=0.0254;
constdoublepound_per_kilogram=2.2;
coutPleaseenteryourheight:
endl;
coutht_feet;
coutwt_pound;
intinch;
inch=ht_feet*inch_per_feet+ht_inch;
doubleht_meter;
ht_meter=inch*meter_per_inch;
doublewt_kilogram;
wt_kilogram=wt_pound/pound_per_kilogram;
coutendl;
coutYourpensonalbodyinformationasfollows:
cout身高:
inch(英尺inch)n身高:
ht_meter(米meter)n体重:
wt_kilogram(千克kilogram)n;
doubleBMI;
BMI=wt_kilogram/(ht_meter*ht_meter);
coutyourBodyMassIndex(体重指数)isBMIendl;
/ex3.3以度,分,秒输入,以度输出#includeconstintminutes_per_degree=60;
constintseconds_per_minute=60;
coutEnteralatitudeindegrees,minutes,andseconds:
n;
coutdegree;
coutminute;
coutsecond;
doubleshow_in_degree;
show_in_degree=(double)degree+(double)minute/minutes_per_degree+(double)second/minutes_per_degree/seconds_per_minute;
coutdegreedegrees,minuteminutes,secondseconds=show_in_degreedegreesn;
/ex3.4#includeconstinthours_per_day=24;
constintminutes_per_hour=60;
coutseconds;
intDay,Hour,Minute,Second;
Day=seconds/seconds_per_minute/minutes_per_hour/hours_per_day;
Hour=seconds/seconds_per_minute/minutes_per_hour%hours_per_day;
Minute=seconds/seconds_per_minute%minutes_per_hour;
Second=seconds%seconds_per_minute;
coutsecondsseconds=Daydays,Hourhours,Minuteminutes,Secondsecondsn;
/ex3.5#includeintmain()usingnamespacestd;
coutworld_population;
coutUS_population;
doublepercentage;
percentage=(double)US_population/world_population*100;
coutThepopulationoftheUSispercentage%oftheworldpopulation.n;
/ex3.6汽车耗油量-美国(mpg)or欧洲风格(L/100Km)#includeintmain()usingnamespacestd;
coutm_distance;
coutm_gasoline;
coutYourcarcanrunm_distance/m_gasolinemilespergallonn;
coutComputingbyEuropeanstyle:
coutk_distance;
coutk_gasoline;
coutInEuropeanstyle:
yourcanused100*k_gasoline/k_distancelitersofpetrolper100kilometersn;
/ex3.7automobilegasolineconsumption-耗油量-欧洲风格(L/100Km)转换成美国风格(mpg)#includeintmain()usingnamespacestd;
coutEntertheautomobilegasolineconsumptionfigureinnEuro_style;
coutConvertstoU.S.style(milespergallon):
coutEuro_styleL/100Km=62.14*3.875/Euro_stylempgn;
/Notethat100kilometersis62.14miles,and1gallonis3.875liters./Thus,19mpgisabout12.4L/100Km,and27mpgisabout8.7L/100Km.EntertheautomobilegasolineconsumptionfigureinEuropeanstyle(litersper100kilometers):
12.4ConvertstoU.S.style(milespergallon):
12.4L/100Km=19.4187mpgPressanykeytocontinue/ex3.7automobilegasolineconsumption-耗油量-美国风格(mpg)转换成欧洲风格(L/100Km)#includeintmain()usingnamespacestd;
coutEntertheautomobilegasolineconsumptionfigureinnUS_style;
coutConvertstoEuropeanstyle(milespergallon):
coutUS_stylempg=62.14*3.875/US_styleL/100Kmn;
/EntertheautomobilegasolineconsumptionfigureinU.S.style(milespergallon):
19ConvertstoEuropeanstyle(milespergallon):
19mpg=12.6733L/100KmPressanykeytocontinue第四章复合类型/ex4.1displaytheinformationofstudent#includeconstintAsize=20;
structstudent/定义结构描述charfirstnameAsize;
charlastnameAsize;
chargrade;
intage;
voiddisplay(student);
/函数原型放在结构描述后intmain()coutwhatisyourfirstname?
studentlcg;
/创建结构变量(结构数据对象)cin.getline(lcg.firstname,Asize);
coutwhatisyourlastname?
cin.getline(lcg.lastname,Asize);
coutwhatlettergradedoyoudeserve?
lcg.grade;
coutwhatisyourage?
lcg.age;
display(lcg);
voiddisplay(studentname)coutName:
name.firstname,name.lastnameendl;
coutGrade:
char(name.grade+1)endl;
coutAge:
name.ageendl;
/ex4.2usethestring-classinsteadofchar-array#include#includeintmain()usingnamespacestd;
stringname,dessert;
coutEnteryourname:
getline(cin,name);
coutEnteryourfavoritedessert:
getline(cin,dessert);
coutIhavesomedeliciousdessert;
coutforyou,namesbumpc();
/修改后的break;
ex4.3输入其名和姓,并组合显示#include#includeconstintAsize=20;
charfnameAsize;
charlnameAsize;
charfullname2*Asize+1;
coutEnteryourfirstname:
;
/输入名字,存储在fname数组中cin.getline(fname,Asize);
coutEnteryourlastname:
/输入姓,存储在lname数组中cin.getline(lname,Asize);
strncpy(fullname,lname,Asize);
/把姓lname复制到fullname空数组中strcat(fullname,);
/把“,”附加到上述fullname尾部strncat(fullname,fname,Asize);
/把fname名字附加到上述fullname尾部fullname2*Asize=0;
/为防止字符型数组溢出,在数组结尾添加结束符coutHerestheinformationinasinglestring:
fullnameendl;
/显示组合结果return0;
/ex4.4使用string对象存储、显示组合结果#include#includeintmain()usingnamespacestd;
stringfname,lname,attach,fullname;
getline(cin,fname);
/note:
将一行输入读取到string类对象中使用的是getline(cin,str)/它没有使用句点表示法,所以不是类方法coutEnteryourlastname:
getline(cin,lname);
attach=,;
fullname=lname+attach+fname;
coutHerestheinformationinasinglestring:
/ex4.5declareastructandinitializeit声明结果并创建一个变量#includeconstintAsize=20;
structCandyBarcharbrandAsize;
doubleweight;
intcalory;
CandyBarsnack=MochaMunch,2.3,350;
coutHerestheinformationofsnack:
coutbrand:
snack.brandendl;
coutweight:
snack.weightendl;
coutcalory:
snack.caloryendl;
/ex4.6结构数组的声明及初始化#includeconstintAsize=20;
CandyBarsnack3=MochaMunch,2.3,350,XuFuJi,1.1,300,Alps,0.4,100;
for(inti=0;
i3;
i+)/利用for循环来显示snack变量的内容coutsnacki.brandendlsnacki.weightendlsnacki.caloryendlendl;
/ex4.7pizza披萨饼#include#includeconstintSize=20;
structpizza/声明结构charcompanySize;
doublediameter;
pizzapie;
/创建一个名为pie的结构变量coutWhatsthenameofpizzacompany:
cin.getline(pany,Size);
coutpie.diameter;
coutpie.weight;
coutcompany:
panyendl;
coutdiameter:
pie.diameterinchesendl;
pie.weightounchesendl;
/ex4.8pizzapie披萨饼使用new创建动态结构#include#includeconstintSize=20;
pizza*pie=newpizza;
/使用new创建动态结构coutpie-diameter;
cin.get();
/读取下一个字符coutcompany,Size);
coutpie-weight;
diameterinchesendl;
companyendl;
weightounchesendl;
deletepie;
/delete释放内存return0;
/ex.4.9使用new动态分配数组方法1#include#includeusingnamespacestd;
structCandyBarstringbrand;
intmain()CandyBar*snack=newCandyBar3;
snack0.brand=A;
/单个初始化由new动态分配的内存snack0.weight=1.1;
snack0.calory=200;
snack1.brand=B;
snack1.weight=2.2;
snack1.calory=400;
snack2.brand=C;
snack2.weight=4.4;
snack2.calory=500;
i+)coutbrand:
snacki.brandendl;
coutweight:
snacki.weightendl;
coutcalorie:
snacki.caloryendlendl;
deletesnack;
/ex.4.10数组方法1#includeintmain()usingnamespacestd;
constintSize=3;
intsuccessSize;
coutsuccess0success1success2;
coutsuccess1:
success0endl;
coutsuccess2:
success1endl;
coutsuccess3:
success2endl;
doubleaverage=(success0+success1+success2)/3;
coutaverage:
averageendl;
/ex.4.10array方法2#include#includeintmain()usingnamespacestd;
arrayad=0;
coutad0ad1ad2;
ad0endl;
ad1endl;
ad2endl;
ad3=(ad0+ad1+ad2)/3;
ad3endl;
第五章循环和关系表达式/ex.5.1#includeintmain()usingnamespacestd;
coutnum1num2;
intsum=0;
for(inttemp=num1;
temp=num2;
+temp)/ortemp+sum+=temp;
coutThesumfromnum1tonum2issumendl;
/ex.5.2#include#includeintmain()usingnamespacestd;
ad1=ad0=1L;
for(inti=2;
i101;
i+)adi=i*adi-1;
i+)couti!
=adiendl;
/ex.5.3#includeintmain()usingnamespacestd;
coutnum)&
num!
=0)sum+=num;
coutSofar,thesumissumendl;
coutPleaseenteraninteger:
/ex.5.4#includeintmain()usingnamespacestd;
doublesum1,sum2;
sum1=sum2=0.0;
intyear=0;
while(sum2=sum1)+year;
sum1+=10;
sum2=(100+sum2)*0.05+sum2;
cout经过year年后,Cleo的投资价值才能超过Daphne的投资价值。
cout此时,Cleo的投资价值为sum1,而Daphne的投资价值为sum2endl;
/ex.5.5#includeconstintMONTHS=12;
constchar*monthsMONTHS=January,February,March,April,May,June,July,August,September,October,November,December;
intsalesMONTHS,sum=0;
iMONTHS;
i+)cout请输入在mon
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ primer plus第六版第二至第五章课后编程练习答案 plus 第六 第二 第五 课后 编程 练习 答案