C++與演算法

for迴圈

比起while迴圈,for迴圈更適合處理有次序的事。

其實for迴圈能做的事,while迴圈都能做。反之亦然。

為了視覺上的方便,因此要學習for迴圈。


英文加油站

for:在...(指定時間)

The meeting is arranged for 9 o ' clock . 會議安排在九點鐘。



語法 - for

  • A D 都省略時,for迴圈while迴圈 執行起來完全一樣。
for( [A.]一開始先做什麼事 ; [B.]條件式 ; [D.]等C每作完一次,就做什麼事 )
{
    [C.]當B條件成立時,就重覆做的事...
}

通常A、B、D所用到的變數會是一致的。


執行起來流程如下

先做A ==> 檢查B條件,成立就做C,接著做D

==> 檢查B條件,成立就做C,接著做D

==> 檢查B條件,成立就做C,接著做D

...

...

==> 檢查B條件,成立就做C,接著做D

==> 檢查B條件,不成立離開



範例1 - 班級名條

code

#include<iostream>
using namespace std;

int main()
{
    int n;
    int i;

    cin >> n;

    for( i=1 ; i<=n ; i=i+1 )
    {
        cout << "No." << i << endl;
    }

    return 0;
}

for vs while

input

10

output

No.1
No.2
No.3
No.4
No.5
No.6
No.7
No.8
No.9
No.10



範例2 - 發射倒數

  • 也可以是做完一次就減少i
#include<iostream>
using namespace std;

int main()
{
    int i;

    for( i=5 ; i>=1 ; i=i-1 )
    {
        cout << i << "..." << endl;
    }
    cout << "Go!" << endl;

    return 0;
}

output

5...
4...
3...
2...
1...
Go!



自我練習

把之前用while寫過的程式碼,再用for寫一次吧!