4.4 do-while 迴圈

while 迴圈先檢查條件再執行。如果你想至少執行一次,再檢查條件(例如玩遊戲時「先玩一局,再問要不要繼續」),就用 do-while

do-while 迴圈的結構:

do {
    程式碼區塊
} while (條件式);

注意 while 後面有分號。

執行流程:

  1. 執行程式碼區塊
  2. 檢查條件式
  3. 如果為 true,回到步驟 1
  4. 如果為 false,結束迴圈

範例程式碼

範例:計算 n + (n-1) + ... + 1 的結果

#include<iostream>
using namespace std;
int main() {
    int n;
    cin >> n;           // 讀入一個數字

    int answer = 0;     // 累加總和

    // 至少執行一次:把 n 加到 answer,然後 n 減 1
    do {
        answer += n;    // 加上當前的 n
        n -= 1;         // n 減 1
    } while (n > 0);     // 只要 n > 0 就繼續

    cout << answer << "\n";
    return 0;
}

執行結果:(假設輸入為 5

15

解釋:5 + 4 + 3 + 2 + 1 = 15