阿摩線上測驗 登入

申論題資訊

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

題組內容

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

申論題內容

⑷試利用 do while 迴圈計算 3+6+9+⋯+n 的總和。(5 分)

詳解 (共 1 筆)

詳解 提供者:hchungw
要使用do while迴圈來計算3 + 6 + 9 + ... + n的總和(其中n是一個非負整數),我們可以設定一個初始值為3(因為這是序列中的第一個數),然後在每次迭代中將當前值加到總和上,同時將當前值增加3。如果n小於3或者不是3的倍數,我們計算到n以下最大的3的倍數。以下是一個使用C語言的實現示例:
c
Copy code
#include <stdio.h>
int main() {
    int n, sum = 0;
    printf("請輸入一個整數 n: ");
    scanf("%d", &n);
    // 調整n為3的倍數
    if (n % 3 != 0) {
        n = n - (n % 3);
    }
    int i = 3; // 從3開始
    do {
        sum += i; // 將當前的i加到sum上
        i += 3; // i增加3
    } while (i <= n); // 條件判斷
    printf("3 + 6 + 9 + ... + n 的總和是: %d\n", sum);
    return 0;
}
這個程序首先讀取用戶輸入的整數n。然後檢查n是否為3的倍數,如果不是,則將n調整為小於等於n的最大3的倍數,確保我們的計算只包括3的倍數。接下來,使用一個do while迴圈從3開始迭代,每次迭代都將當前值i加到總和sum上,並將i的值增加3。迴圈至少執行一次,然後持續到i超過n。最後,輸出計算出的總和。