21
CH2 重複結構 ( 迴圈 ) 回想起來吧 ~ 程教 文月

Ch2 重複結構(迴圈)

Embed Size (px)

Citation preview

Page 1: Ch2 重複結構(迴圈)

CH2 重複結構 ( 迴圈 )

回想起來吧 ~

程教 文月

Page 2: Ch2 重複結構(迴圈)

複習 -for 迴圈

★for 迴圈語法:for(int 迴圈變數 = 起始值 ; 終止值 ; 遞增

減值 )

{

重覆的程式}

Page 3: Ch2 重複結構(迴圈)

解題範例 - 印出 1 到 100

★code 如下:for(int i=1;i<=100;i++)

{

cout<<i<<endl;

}

執行結果

Page 4: Ch2 重複結構(迴圈)

複習 -while 迴圈

★while 迴圈語法:while( 執行條件 )

{

重覆的程式 控制迴圈變數之 的改變值}

Page 5: Ch2 重複結構(迴圈)

解題範例 - 印出 1 到 100

★code 如下: int i=1;

while(i<=100){

cout<<i<<endl;i++;

}

執行結果

Page 6: Ch2 重複結構(迴圈)

現在立刻試試看!

到程式班部落格去解解看課堂習題吧!

Page 7: Ch2 重複結構(迴圈)

1. 印出 1 到 1000 所有偶數 #include<iostream>using namespace std; int main(){

for(int i=1;i<=( 填空處 );i=i+( 填空處 )){cout<<i<<endl;}

}

1000 2

Page 8: Ch2 重複結構(迴圈)

2. 印出 100 到 -100 的所有整數★參考解答 -while迴圈#include<iostream>using namespace std; int main(){

int i=100;while(i>=-100){

cout<<i<<endl;i--;

}}

特別注意這裡是大於喔

Page 9: Ch2 重複結構(迴圈)

2. 印出 100 到 -100 的所有整數★參考解答 -for迴圈#include<iostream>using namespace std; int main(){

for(int i=100;i>=-100;i--){cout<<i<<endl;}

}

特別注意這裡是大於喔

Page 10: Ch2 重複結構(迴圈)

迴圈中的迴圈 - 巢狀迴圈

★其實很簡單,把迴圈放進迴圈就 ok 了!

★那我們趕快來看範例吧!

Page 11: Ch2 重複結構(迴圈)

解題範例 - 九九乘法表

注意紅色與藍色的變化想想看 .. 一個變數在內層還哪

是外層迴圈 ?呢

Page 12: Ch2 重複結構(迴圈)

解題範例 - 九九乘法表★code如下: int a,b;

for(a=1;a<10;a++)

{

for(b=1;b<10;b++)

{

cout<<a<<"*"<<b<<"="<<a*b<<" ";

}

cout<<endl;

}

特別注意這邊要輸出空白

猜對了 ?嗎前面的變數是外

層的迴圈

Page 13: Ch2 重複結構(迴圈)

解題技巧 - 存極值

★要怎麼存取多個數字中的最大數字 ?呢★範例題:找出 n 個數字中最大的值

Code 怎麼寫 ?呢那麼我們來看看範例解答吧!

Page 14: Ch2 重複結構(迴圈)

解題技巧 - 存極值int n,m,m2=0;cin>>n;for(int i=0;i<n;i++){

cin>>m;if(m>m2){

m2=m;}

}cout<<m2;

輸入整數 n 後,一個迴圈來讀取跑 n 個數

輸入整數 m 後,判別是否比上個極值m2

大 ( 初始 為值 0)

Page 15: Ch2 重複結構(迴圈)

解題技巧 - 存極值

3

11 13 12

13

ConsolePauser.exe

輸入 3( 有 3 個數字要做判斷 )輸入 11,13,12

輸出 :13

Page 16: Ch2 重複結構(迴圈)

解題技巧 - 計數器

★計數器,顧名思義是計算次數的工具。★什麼時候會用到 …讓我們來看看範例!呢

★範例 1 :輸出 n 個數字中 " 1 " 的數量

Page 17: Ch2 重複結構(迴圈)

解題範例 1- 找出所有 1★code如下: int n,m,sum=0;

cin>>n;

for(int i=0;i<n;i++){

cin>>m;

if(m == 1){

sum=sum+1;

}

}

cout<<sum<<endl;

關係運算子 "=="是判斷是否等於的意思

在 sum 的作用即是個計數器,從 0 開始,如果發現 m 是1 , sum 即會加 1 。最後在

輸出 m=1 的總數。

Page 18: Ch2 重複結構(迴圈)

解題範例 1- 找出所有 1

7

1 2 1 4 22 1 26

3

ConsolePauser.exe

輸入 7( 有 7 個數字要做判斷 )

輸入 1,2,1,4,22,1,26

輸出 :3

Page 19: Ch2 重複結構(迴圈)

解題範例 2-找出奇偶數int n,m,sum1=0,sum2=0;cin>>n;for(int i=0;i<n;i++){

cin>>m;if(m%2 == 1){

sum1=sum1+1;}else if(m%2 == 0){

sum2=sum2+1;}

}cout<<"總共有 "<<sum1<<"個奇數 "<<endl;cout<<"總共有 "<<sum2<<"個偶數 "<<endl;

奇數偶數分開計算

利用除以 2的餘數判別

Page 20: Ch2 重複結構(迴圈)

解題範例 2-找出奇偶數

5

13 12 14 15 1

總共有 3個奇數總共有 2個偶數

ConsolePauser.exe

輸入5( 有 5個數字要做判斷 )

輸入 13,12,14,15,1

輸出 : 總共有 3個奇數總共有2個偶數

Page 21: Ch2 重複結構(迴圈)

報告到此結束,謝謝大家!趕快去練習題目吧 >w<!!