c++primerplus(第六版)課后編程練習答案_第1頁
c++primerplus(第六版)課后編程練習答案_第2頁
c++primerplus(第六版)課后編程練習答案_第3頁
c++primerplus(第六版)課后編程練習答案_第4頁
c++primerplus(第六版)課后編程練習答案_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第二章:開始學習C+/ex2.1-display your name and address#include<iostream>int main(void)using namespace std;cout<<"My name is liao chunguang and I live in hunan chenzhou.n”;/ex2.2-convert the furlong units to yard uints-把浪單位換位碼單位#include<iostream>double fur2yd(double);int main()using na

2、mespace std;cout<<"enter the distance measured by furlong units:"double fur;cin>>fur;cout<<"convert the furlong to yard"<<endl;double yd;yd=fur2yd(fur);cout<<fur<<" furlong is "<<yd<<" yard"<<endl;return 0;

3、double fur2yd(double t)return 220*t;/ex2.3-每個函數(shù)都被調用兩次#include<iostream>void mice();void see();using namespace std;int main()mice();mice();see();see();return 0;void mice()cout<<"three blind mice"<<endl;void see()cout<<"see how they run"<<endl;/ex2.4#i

4、nclude<iostream>int main() using namespace std; cout<<"Enter your age:" int age; cin>>age; int month; month=age*12; cout<<age<<" years is "<<month<<" months"<<endl; return 0;/ex2.5-convert the Celsius valve to Fahrenheit v

5、alue#include<iostream>double C2F(double);int main()using namespace std;cout<<"please enter a Celsius value:"double C;cin>>C;double F;F=C2F(C);cout<<C<<" degrees Celsius is "<<F<<" degrees Fahrenheit."<<endl;return 0;double

6、 C2F(double t)return 1.8*t+32; /ex2.6-convert the light years valve to astronomical units-把光年轉換為天文單位#include<iostream>double convert(double);/函數(shù)原型int main()using namespace std;cout<<"Enter the number of light years:"double light_years;cin>>light_years;double astro_units;a

7、stro_units=convert(light_years);cout<<light_years<<" light_years = "<<astro_units<<" astronomical units."<<endl;return 0;double convert(double t)return 63240*t;/1 光年=63240 天文單位 /ex2.7-顯示用戶輸入的小時數(shù)和分鐘數(shù)#include<iostream>void show();main()using name

8、space std;show();return 0;void show()using namespace std;int h,m;cout<<"enter the number of hours:"cin>>h;cout<<"enter the number of minutes:"cin>>m;cout<<"Time:"<<h<<":"<<m<<endl;第三章:處理數(shù)據(jù)/ex3.1將身高用英尺(feet)

9、和英寸(inch)表示#include<iostream>const int inch_per_feet=12;/ const常量-1feet=12inches-1英尺=12英寸int main()using namespace std;cout<<"please enter your height in inches:_bbb"/ b表示為退格字符int ht_inch;cin>>ht_inch;int ht_feet=ht_inch/inch_per_feet;/取商int rm_inch=ht_inch%inch_per_feet;

10、/取余cout<<"your height is "<<ht_feet<<" feet,and "<<rm_inch<<" inchesn"return 0;/ex3.2-計算相應的body mass index(體重指數(shù))#include<iostream>const int inch_per_feet=12;const double meter_per_inch=0.0254;const double pound_per_kilogram=2.2;int ma

11、in()using namespace std;cout<<"Please enter your height:"<<endl;cout<<"First,enter your height of feet part(輸入你身高的英尺部分):_b"int ht_feet;cin>>ht_feet;cout<<"Second,enter your height of inch part(輸入你身高的英寸部分):_b"int ht_inch;cin>>ht_inch;c

12、out<<"Now,please enter your weight in pound:_bbb"double wt_pound;cin>>wt_pound;int inch;inch=ht_feet*inch_per_feet+ht_inch;double ht_meter;ht_meter=inch*meter_per_inch;double wt_kilogram;wt_kilogram=wt_pound/pound_per_kilogram;cout<<endl;cout<<"Your pensonal bo

13、dy information as follows:"<<endl;cout<<"身高:"<<inch<<"(英尺inch)n"<<"身高:"<<ht_meter<<"(米meter)n"<<"體重:"<<wt_kilogram<<"(千克kilogram)n"double BMI;BMI=wt_kilogram/(ht_meter*ht_mete

14、r);cout<<"your Body Mass Index(體重指數(shù)) is "<<BMI<<endl;return 0;/ex3.3 以度,分,秒輸入,以度輸出#include<iostream>const int minutes_per_degree=60;const int seconds_per_minute=60;int main()using namespace std;cout<<"Enter a latitude in degrees,minutes,and seconds:n"

15、;cout<<"First,enter the degrees:"int degree;cin>>degree;cout<<"Next,enter the minutes of arc:"int minute;cin>>minute;cout<<"Fianlly,enter the seconds of arc:"int second;cin>>second;double show_in_degree;show_in_degree=(double)degree+(

16、double)minute/minutes_per_degree+(double)second/minutes_per_degree/seconds_per_minute;cout<<degree<<" degrees,"<<minute<<" minutes,"<<second<<"seconds ="<<show_in_degree<<" degreesn"return 0;/ex3.4#include<ios

17、tream>const int hours_per_day=24;const int minutes_per_hour=60;const int seconds_per_minute=60;int main()using namespace std;cout<<"Enter the number of seconds:"long seconds;cin>>seconds;int Day,Hour,Minute,Second;Day=seconds/seconds_per_minute/minutes_per_hour/hours_per_day

18、;Hour=seconds/seconds_per_minute/minutes_per_hour%hours_per_day;Minute=seconds/seconds_per_minute%minutes_per_hour;Second=seconds%seconds_per_minute;cout<<seconds<<"seconds = "<<Day<<" days,"<<Hour<<" hours,"<<Minute<<&quo

19、t; minutes,"<<Second<<" secondsn"return 0;/ex3.5#include<iostream>int main() using namespace std; cout<<"Enter the world population:" long long world_population; cin>>world_population; cout<<"Enter the population of the US:" long

20、 long US_population; cin>>US_population; double percentage; percentage=(double)US_population/world_population*100; cout<<"The population of the US is "<<percentage<<"% of the world population.n" return 0;/ex3.6  汽車耗油量-美國(mpg)or歐洲風格(L/100Km)#include<

21、;iostream>int main() using namespace std; cout<<"Enter the miles of distance you have driven:" double m_distance; cin>>m_distance; cout<<"Enter the gallons of gasoline you have used:" double m_gasoline; cin>>m_gasoline

22、; cout<<"Your car can run "<<m_distance/m_gasoline<<" miles per gallonn" cout<<"Computing by European style:n" cout<<"Enter the distance in kilometers:" double k_distance; cin>>k_distance; cout&

23、lt;<"Enter the petrol in liters:" double k_gasoline; cin>>k_gasoline; cout<<"In European style:"<<"your can used "<<100*k_gasoline/k_distance<<" liters of petrol per 100 kilometersn" return 0;/ex3.7 automobi

24、le gasoline consumption-耗油量-歐洲風格(L/100Km)轉換成美國風格(mpg)#include<iostream>int main()using namespace std;cout<<"Enter the automobile gasoline consumption figure inn"<<"European style(liters per 100 kilometers):"double Euro_style;cin>>Euro_style;cout<<&qu

25、ot;Converts to U.S. style(miles per gallon):"<<endl;cout<<Euro_style<<" L/100Km = "<<62.14*3.875/Euro_style<<" mpgn"return 0;/ Note that 100 kilometers is 62.14 miles, and 1 gallon is 3.875 liters. /Thus, 19 mpg is about 12.4 L/100Km, and 27 mpg

26、 is about 8.7 L/100Km.Enter the automobile gasoline consumption figure inEuropean style(liters per 100 kilometers):12.4Converts to U.S. style(miles per gallon):12.4 L/100Km = 19.4187 mpgPress any key to continue/ ex3.7 automobile gasoline consumption-耗油量-美國風格(mpg)轉換成歐洲風格(L/100Km)#include<iostream

27、>int main()using namespace std;cout<<"Enter the automobile gasoline consumption figure inn"<<"U.S. style(miles per gallon):"double US_style;cin>>US_style;cout<<"Converts to European style(miles per gallon):"<<endl;cout<<US_style<

28、;<" mpg = "<< 62.14*3.875/US_style<<"L/100Kmn"return 0;/ Enter the automobile gasoline consumption figure inU.S. style(miles per gallon):19Converts to European style(miles per gallon):19 mpg = 12.6733L/100KmPress any key to continue第四章 復合類型/ex4.1 display the inform

29、ation of student#include<iostream>const int Asize=20;using namespace std;struct student/定義結構描述char firstnameAsize;char lastnameAsize;char grade;int age;void display(student);/函數(shù)原型放在結構描述后int main()cout<<"what is your first name?"<<endl;student lcg;/創(chuàng)建結構變量(結構數(shù)據(jù)對象)cin.getlin

30、e(lcg.firstname,Asize);cout<<"what is your last name?"<<endl;cin.getline(lcg.lastname,Asize);cout<<"what letter grade do you deserve?"<<endl;cin>>lcg.grade;cout<<"what is your age?"<<endl;cin>>lcg.age;display(lcg);return 0

31、;void display(student name)cout<<"Name: "<<name.firstname<<","<<name.lastname<<endl;cout<<"Grade:"<<char(name.grade+1)<<endl;cout<<"Age:"<<name.age<<endl;/ex4.2 use the string-class instead of c

32、har-array#include<iostream>#include<string>int main()using namespace std;string name,dessert;cout<<"Enter your name: n"getline(cin,name); cout<<"Enter your favorite dessert: n"getline(cin,dessert); cout<<"I have some delicious "<<dess

33、ert;cout<<" for you, "<<name<<".n"return 0;/有時候會遇到需要按下兩次回車鍵才能正確的顯示結果,這是vc+6.0的一個BUG,更改如下:else if (_Tr:eq(_E)_C, _D) _Chg = true; _I.rdbuf()->sbumpc();/修改后的 break; ex4.3 輸入其名和姓,并組合顯示#include<iostream>#include<cstring>const int Asize=20;int main()us

34、ing namespace std;char fnameAsize;char lnameAsize;char fullname2*Asize+1;cout<<"Enter your first name:"/輸入名字,存儲在fname數(shù)組中cin.getline(fname,Asize);cout<<"Enter your last name:"/輸入姓,存儲在lname數(shù)組中cin.getline(lname,Asize);strncpy(fullname,lname,Asize);/把姓lname復制到fullname空數(shù)組中

35、strcat(fullname,", ");/把“, ”附加到上述fullname尾部strncat(fullname,fname,Asize);/把fname名字附加到上述fullname尾部fullname2*Asize='0'/為防止字符型數(shù)組溢出,在數(shù)組結尾添加結束符 cout<<"Here's the information in a single string:"<<fullname<<endl;/顯示組合結果return 0;/ex4.4 使用string對象 存儲、顯示組合結果#

36、include<iostream>#include<string>int main()using namespace std;string fname,lname,attach,fullname;cout<<"Enter your first name:"getline(cin,fname);/note:將一行輸入讀取到string類對象中使用的是getline(cin,str) /它沒有使用句點表示法,所以不是類方法cout<<"Enter your last name:"getline(cin,lnam

37、e);attach=", "fullname=lname+attach+fname;cout<<"Here's the information in a single string:"<<fullname<<endl;return 0;/ex4.5 declare a struct and initialize it 聲明結果并創(chuàng)建一個變量#include<iostream>const int Asize=20;struct CandyBarchar brandAsize;double weight

38、;int calory;int main()using namespace std;CandyBar snack="Mocha Munch",2.3,350;cout<<"Here's the information of snack:n"cout<<"brand:"<<snack.brand<<endl;cout<<"weight:"<<snack.weight<<endl;cout<<"calory

39、:"<<snack.calory<<endl;return 0;/ex4.6 結構數(shù)組的聲明及初始化#include<iostream>const int Asize=20;struct CandyBarchar brandAsize;double weight;int calory;int main()using namespace std;CandyBar snack3="Mocha Munch",2.3,350,"XuFuJi",1.1,300,"Alps",0.4,100; for

40、(int i=0;i<3;i+)/利用for循環(huán)來顯示snack變量的內容cout<<snacki.brand<<endl<<snacki.weight<<endl<<snacki.calory<<endl<<endl;return 0;/ex4.7 pizza披薩餅#include<iostream>#include<string>const int Size=20;struct pizza/聲明結構char companySize;double diameter;double

41、weight;int main()using namespace std;pizza pie;/創(chuàng)建一個名為pie的結構變量cout<<"What's the name of pizza company:"cin.getline(pany,Size);cout<<"What's the diameter of pizza:"cin>>pie.diameter;cout<<"What's the weight of pizza:"cin>>pie.wei

42、ght;cout<<"company:"<<pany<<endl;cout<<"diameter:"<<pie.diameter<<"inches"<<endl;cout<<"weight:"<<pie.weight<<"ounches"<<endl;return 0;/ex4.8 pizza pie 披薩餅 使用new創(chuàng)建動態(tài)結構#include<iostr

43、eam>#include<string>const int Size=20;struct pizza/聲明結構char companySize;double diameter;double weight;int main()using namespace std;pizza *pie=new pizza;/使用new創(chuàng)建動態(tài)結構cout<<"What's the diameter of pizza:"cin>>pie->diameter;cin.get();/讀取下一個字符cout<<"What&

44、#39;s the name of pizza company:"cin.get(pie->company,Size);cout<<"What's the weight of pizza:"cin>>pie->weight;cout<<"diameter:"<<pie->diameter<<" inches"<<endl;cout<<"company:"<<pie->compan

45、y<<endl;cout<<"weight:"<<pie->weight<<" ounches"<<endl;delete pie;/delete釋放內存return 0;/ex.4.9 使用new動態(tài)分配數(shù)組方法1#include<iostream>#include<string>using namespace std;struct CandyBarstring brand;double weight;int calory;int main()CandyBar *

46、snack= new CandyBar3;snack0.brand="A"/單個初始化由new動態(tài)分配的內存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;for(int i=0;i<3;i+)cout << " brand: " << snacki.bra

47、nd << endl;cout << " weight: " << snacki.weight << endl;cout << " calorie: " << snacki.calory << endl<<endl;delete snack; return 0;/ex.4.10 數(shù)組方法1#include <iostream>int main() using namespace std; const int Size = 3; int succes

48、sSize; cout<<"Enter your success of the three times 40 meters running:n"cin >> success0>>success1>>success2; cout<<"success1:"<<success0<<endl;cout<<"success2:"<<success1<<endl;cout<<"success3:"

49、<<success2<<endl;double average=(success0+success1+success2)/3;cout<<"average:"<<average<<endl; return 0; /ex.4.10 array方法2#include <iostream>#include <array>int main() using namespace std;array<double,4>ad=0; cout<<"Enter your suc

50、cess of the three times 40 meters running:n"cin >> ad0>>ad1>>ad2; cout<<"success1:"<<ad0<<endl;cout<<"success2:"<<ad1<<endl;cout<<"success3:"<<ad2<<endl;ad3=(ad0+ad1+ad2)/3;cout<<"av

51、erage:"<<ad3<<endl; return 0; 第五章 循環(huán)和關系表達式/ex.5.1#include <iostream>int main() using namespace std; cout<<"Please enter two integers: " int num1,num2; cin>>num1>>num2; int sum=0; for(int temp=num1;temp<=num2;+temp)/or temp+ sum+=temp; cout<<

52、;"The sum from "<<num1<<" to "<<num2<<" is "<<sum<<endl; return 0;/ex.5.2#include <iostream>#include<array>int main() using namespace std;array<long double,101>ad=0; ad1=ad0=1L;for(int i=2;i<101;i+)adi=i*adi-1;for

53、(int i=0;i<101;i+)cout<<i<<"! = "<<adi<<endl; return 0;/ex.5.3#include <iostream>int main() using namespace std; cout<<"Please enter an integer: " int sum=0,num; while(cin>>num)&&num!=0) sum+=num; cout<<"So far, the

54、sum is "<<sum<<endl; cout<<"Please enter an integer: " return 0;/ex.5.4#include <iostream>int main() using namespace std; double sum1,sum2; sum1=sum2=0.0; int year=0; while(sum2<=sum1) +year; sum1+=10; sum2=(100+sum2)*0.05+sum2; cout<<"經(jīng)過"<

55、;<year<<"年后,Cleo的投資價值才能超過Daphne的投資價值。"<<endl; cout<<"此時,Cleo的投資價值為"<<sum1<<",而Daphne的投資價值為"<<sum2<<endl; return 0; /ex.5.5#include <iostream>const int MONTHS = 12;const char* monthsMONTHS="January","Febru

56、ary","March","April","May","June","July","August","September","October","November","December"int main() using namespace std; int salesMONTHS,sum=0; for(int i=0;i<MONTHS;i+) cout<<"請

57、輸入在"<<monthsi<<"的C+ For Fools的銷售量:" cin>>salesi; sum+=salesi; cout<<"這一年中的C+ For Fools的總銷售量為:"<<sum<<endl; return 0;/ex.5.6#include <iostream>const int MONTHS = 12;const char* monthsMONTHS="January","February",&qu

58、ot;March","April","May","June","July","August","September","October","November","December"const char* years3="第一年","第二年","第三年"int main() using namespace std; int year_sale3,sum=0,sales3MONTHS; for(int i=0;i<3;i+) int temp=0; cout<<yearsi<<"的每個月銷售量:"<<endl; for(int j=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論