- 小學(xué)生C++創(chuàng)意編程(視頻教學(xué)版)
- 劉鳳飛
- 880字
- 2024-12-31 19:30:03
第7課 星號(hào)金字塔(雙變量累加)

有這樣一座星號(hào)金字塔,每一層都由奇數(shù)個(gè)星號(hào)組成。第一層1個(gè),第二層3個(gè),第三層5個(gè),以此類推。

現(xiàn)在我們需要計(jì)算出這個(gè)星號(hào)金字塔一共有多少個(gè)星號(hào),試著編寫程序來(lái)完成吧!
溫故知新
列等式計(jì)算。

(1)"1+3+5+7+9=":這是字符串,列了一個(gè)字符串等式。
(2)1+3+5+7+9:這是進(jìn)行5個(gè)數(shù)字的加法運(yùn)算。
(3)多個(gè)<<將內(nèi)容拼接輸出。

累加求和
挑戰(zhàn)一個(gè)有難度的計(jì)算,如果星號(hào)一共有100層,那么一共有多少個(gè)星號(hào)?將數(shù)字一個(gè)一個(gè)地寫出來(lái)就太煩瑣了,需要找到簡(jiǎn)便的方法。
之前計(jì)數(shù)的時(shí)候是每次加1,現(xiàn)在的求和是+1、+3、+5、+7、+9…每次加的數(shù)字都不同。

(1)sum = 0:聲明了一個(gè)變量sum,用它來(lái)存儲(chǔ)星號(hào)的總數(shù),計(jì)算前初始值是0。
(2)將每層的星號(hào)數(shù)量加起來(lái):

劃重點(diǎn)
觀察sum的變化,每行代碼執(zhí)行后,sum值都發(fā)生了變化。

雙變量
把后面加的數(shù)字1、3、5、7、9換成變量i的話,sum = sum + i的意思就是把原來(lái)sum的值加上i的值,再賦值給sum得到一個(gè)新的值。如果sum從0開(kāi)始,就相當(dāng)于把所有的i都加起來(lái)了,sum就是所有i的總和。
再感受一番累加,從0開(kāi)始+1、+3、+5、+7、+9。
sum = 0 sum = sum + 1; 0 + 1 = 1 (完成加1) sum = sum + 3; 1 + 3 = 4(計(jì)算的結(jié)果繼續(xù)加3) sum = sum + 5; 4 + 5 = 9(計(jì)算的結(jié)果繼續(xù)加5) sum = sum + 7; 9 + 7 = 16(計(jì)算的結(jié)果繼續(xù)加7) sum = sum + 9; 16 + 9 = 25(計(jì)算的結(jié)果繼續(xù)加9)
星號(hào)的數(shù)量統(tǒng)計(jì),不僅sum有規(guī)律,后面增加的數(shù)字也有規(guī)律,它們都是依次增加的奇數(shù)。嘗試將后面的加數(shù)也用一個(gè)變量來(lái)替代。

每次累加后,i都增加2,將i = i + 2寫入程序。


鞏固練習(xí)
(1)以下哪個(gè)式子的計(jì)算結(jié)果和程序輸出結(jié)果相等?( )

A.0 + 1 + 3 + 6 + 9 =
B.0 + 4 + 10 + 19 =
C.0 + 1 + 4 + 10 + 19 =
D.0 + 1 + 4 + 10 =
(2)星號(hào)塔每層都有偶數(shù)個(gè)星號(hào),第一層2個(gè),第二層4個(gè),第三個(gè)6個(gè),第四層8個(gè),第五層10個(gè)。同樣使用之前的程序代碼計(jì)算總星號(hào)數(shù),但是程序有些小問(wèn)題,需要你來(lái)修改一下。

(3)運(yùn)用雙變量累加的方式,求1+2+3+4+5+6+7+8+9+10的運(yùn)算結(jié)果。
探索思考
100層星塔中星號(hào)的總數(shù)還沒(méi)有計(jì)算出來(lái),留給你探索一番。這里需要用到循環(huán),試著運(yùn)用我們之前學(xué)習(xí)的while (true) { }來(lái)完成吧!

- iOS Game Programming Cookbook
- 工程軟件開(kāi)發(fā)技術(shù)基礎(chǔ)
- Learning RabbitMQ
- JMeter 性能測(cè)試實(shí)戰(zhàn)(第2版)
- Practical Game Design
- Mastering ServiceNow(Second Edition)
- Getting Started with React Native
- C++寶典
- 大學(xué)計(jì)算機(jī)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)
- OpenCV 3計(jì)算機(jī)視覺(jué):Python語(yǔ)言實(shí)現(xiàn)(原書第2版)
- Qt 4開(kāi)發(fā)實(shí)踐
- 網(wǎng)頁(yè)設(shè)計(jì)與制作
- Scratch少兒編程高手的7個(gè)好習(xí)慣
- 流暢的Python
- Swift語(yǔ)言實(shí)戰(zhàn)晉級(jí)(第2版)