天天看點

《C++ Primer Plus (第6版)》3.7 程式設計練習

環境:Win8 + C-Free 5.0

1. 編寫一個小程式,要求使用者使用一個整數指出自己的身高(機關為英寸),然後将身高轉換為英尺和英寸。該程式使用下劃線字元來訓示輸入位置。另外,使用一個const符号常量來表示轉換因子。

(自注:本題可參考3.12與3.7格式輸出)

《C++ Primer Plus (第6版)》3.7 程式設計練習

2. 編寫一個小程式,要求以幾英尺幾英寸的方式輸入其身高,并以磅為機關輸入其體重。(使用三個變量來存儲這些資訊。)該程式報告其BMI(Body Mass Index,體重指數)。為了計算BMI,該程式以英寸的方式指出使用者的身高(1英尺為12英寸),并将以英寸為機關的身高轉換為以米為機關的身高(1英寸=0.0154米)。然後,将以磅為機關的體重轉換為以千克為機關的體重(1千克=2.2磅)。最後,計算相應的BMI——體重(千克)除以身高(米)的平方。用符号常量表示各種轉換因子。

《C++ Primer Plus (第6版)》3.7 程式設計練習

3. 編寫一個程式,要求使用者以度、分、秒的方式輸入一個緯度,然後以度為機關顯示該緯度。1度為60分,1分等于60秒,請以符号常量的方式表示這些值。對于每個輸入值,應使用一個獨立的變量存儲它,下面是該程式運作時的狀況:

Enter a latitude in degrees, minutes, and seconds:

First, enter the degrees: 37

Next, enter the minutes of arc: 51

Finally, enter the seconds of arc: 19

37 degrees, 51 minutes, 19 seconds = 37.8553 degrees

《C++ Primer Plus (第6版)》3.7 程式設計練習

(剛開始調試還出了點小問題,見圖中注釋)

4. 編寫一個程式,要求使用者以整數方式輸入秒數(使用long或long long變量存儲),然後以天、小時、分鐘和秒的方式顯示這段時間。使用符号常量來表示每天有多少小時、每小時有多少分鐘以及每分鐘有多少秒。該程式的輸出應與下面類似:

Enter the number of seconds: 31600000

31600000 seconds = 365 days, 17 hours, 46 minutes, 40 seconds

《C++ Primer Plus (第6版)》3.7 程式設計練習

5. 編寫一個程式, 要求使用者輸入全球目前的人口和美國目前的人口(或其他國家的人口)。将這些資訊存儲在long long變量中,并讓程式顯示美國(或其他國家)的人口占全球人口的百分比。該程式的輸出應與下面類似:

Enter the world's population: 6898758899

Enter the population of the US: 310783781

The population of the US is 4.50492% of the world population.

《C++ Primer Plus (第6版)》3.7 程式設計練習

6. 編寫一個程式,要求使用者輸入驅車裡程(英裡)和使用汽油量(加侖),然後指出汽車耗油量為一加侖的裡程。如果願意,也可以讓程式要求使用者以公裡為機關輸入距離,并以升為機關輸入汽油量,然後指出歐洲風格的結果——即每100公裡的耗油量(升)。

《C++ Primer Plus (第6版)》3.7 程式設計練習

7. 編寫一個程式,要求使用者按歐洲風格輸入汽車的耗油量(每100公裡消耗的汽油量(升)),然後将其轉換為美國風格的耗油量——每加侖多少英裡。注意,除了使用不同的計量機關外,美國方法(距離/燃料)與歐洲方法(燃料/距離)相反。100公裡等于62.14英裡,1加侖等于3.875升。是以,19mpg大約合12.41/100km,127mpg大約合8.71/100km。

《C++ Primer Plus (第6版)》3.7 程式設計練習

經測試,8.71/100km = 27.6455mpg  題目有誤。 (12.41/100km = 19.403mpg正确)

至此,第三章練習完成。