阿摩線上測驗 登入

申論題資訊

試卷:97年 - 097年地方4等_資訊處理#32437
科目:程式設計
年份:97年
排序:0

題組內容

一、試各撰寫一程式,首先由鍵盤輸入一個整數值 n。

申論題內容

⑶利用 while 迴圈計算 2+4+6+⋯+n 的總和。(5 分)

詳解 (共 1 筆)

詳解 提供者:hchungw
要使用while迴圈來計算2 + 4 + 6 + ... + n(其中n是一個非負整數)的總和,我們可以設定一個初始值為2(因為這是第一個要加的偶數),然後在每次迭代中將當前值加到總和上,同時將當前值增加2(因為我們只對偶數感興趣)。如果n是奇數,我們計算到n的前一個偶數。下面是實現的C語言程式碼:
 
int main() {
    int n, sum = 0;
    printf("請輸入一個整數 n: ");
    scanf("%d", &n);
    // 如果 n 是奇數,將其調整為下一個偶數
    if (n % 2 != 0) {
        n -= 1;
    }
    int i = 2; // 從2開始,因為是計算偶數的和
    while (i <= n) {
        sum += i;
        i += 2;
    }
    printf("2 + 4 + 6 + ... + n 的總和是: %d\n", sum);
    return 0;
}
這個程式首先讀取用戶輸入的整數n。然後,檢查n是否為奇數,如果是,則將其調整為最接近的前一個偶數,以確保我們的計算只包括偶數。接著,使用一個while迴圈從2開始迭代,每次迭代都將當前值i加到總和sum上,並將i的值增加2。迴圈持續到i超過或等於n。最後,輸出計算出的總和。