C++學習筆記(第三章 多分支結構 循環程序設計 之二)

【題目1:利用循環求和】求1000以內所有偶數的和。

  要求:請編出3個程序來,分別用三種循環語句完成,注意體會各種循環語句的執行過程及語法特點。




【題目2:分數的累加】編程序,輸出1/3-3/5+5/7-7/9…+19/21的結果

提示:如果直接解決上面的問題有困難,可以設計一條“由易到難”的路線,逐漸解決其中要解決的問題,讓自己的思路明朗起來。
(1)1+2+...+20  ——這個應該會
(2)1+1/2+1/3+…+1/20  ——分數的累加,注意兩個整型相除,商也爲整型,而顯然求和結果應該是小數
(3)1/2+2/3+3/4+…+19/20  ——分子不全是1了,找找規律,稍加改動就好了
(4)1/2-2/3+3/4-…+19/20   ——要累加的值一正一負倒騰,用pow(-1,i)是個效率很低的做法,不推薦使用。技巧:專門設置一個變量s表示累加項的符號,取值隨着循環,每次乘以-1,從而在+1、-1之間變化,循環加求和的累加要用累加的項(i/(i+1))乘以這個表示符號的s。
(5)1/3-3/5+5/7-7/9…+19/21  ——這是我們的目標。品品這種思路,一口吃不成胖子,學會一口一口吃飯。用心編程,再大的障礙,也會一個一個地排除。




【題目2:(擴展)】計算下面的式子

關注效率,要求用單重循環完成,第一個式子的計算不能用求冪函數pow()



 
【題目3:乘法口訣表】編程序,輸出一個乘法口訣表,形如
1x1=1
1x2=2  2x2=4  
1x3=3  2x3=6  3x3=9
……



 【題目4:輸出完數】一個數如果恰好等於它的因子之和,這個數就稱爲“完數”。例如6=1+2+3,再如8的因子和是7(即1+2+4),8不是完數。編程找出1000以內的所有完數。

提示:首先從2到1000構造循環控制變量爲i的外層循環。每次循環中,利用內嵌的循環逐個地求出i的因子,並累加起來(爲提高效率,可能的因子從1到i/2),如果因子和等於i,則說明是完全數,輸出。然後繼續循環,考察i+1……
說明:有些解答使用了數組。本題並不是非用數組才能做。類似題目還有關於水仙花數、迴文數等,有精力可以自己玩玩。
 
【題目5:貪財的富翁】一個百萬富翁遇到一個陌生人,陌生人找他談一個換錢的計劃,該計劃如下:我每天給你十萬元,而你第一天只需給我一分錢,第二天我仍給你十萬元,你給我兩分錢,第三天我仍給你十萬元,你給我四分錢,....,你每天給我的錢是前一天的兩倍,直到滿一個月(30天),百萬富翁很高興,欣然接受了這個契約。請編程序,通過計算說明,這個換錢計劃對百萬富翁是否是個划算的交易。

提示:(1)需要計算出30天后陌生人給了百萬富翁多少錢,百萬富翁給了陌生人多少錢,然後才能做出判斷;(2)想要看得清楚,可以選擇列出每一天,雙方交易獲得的錢數;(3)給出參考解答,將每天累計給對方的錢列出來,很直觀。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章