首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C++編程入門:正確列出100到200之間能被3整除的數字

     編輯:程式設計綜合問答

問題背景

許多C++初學者在練習循環控制時,會遇到「列出100到200之間能被3整除的數字」這類經典題目。雖然邏輯看似簡單,但若對循環結構與條件判斷理解不透徹,極易寫出語法錯誤或邏輯錯誤的代碼,導致程序無法正常運行或輸出結果錯誤。

常見錯誤分析

以下是一個典型的錯誤示例:

#include <stdio.h>
int main() {
    int c;
    for(c=1; c<=200; c++) {
        c = c * 3;
        if(c >= 200) continue;
        printf("%d", c);
    }
    return 0;
}

這段代碼存在兩個關鍵問題:

  1. 循環變量被篡改:在循環體內對循環變量 c 進行乘法運算(c = c * 3),導致循環失去對迭代次數的控制,極易陷入死循環或跳過預期數值。
  2. continue 語句位置錯誤:continue 前缺少大括號包裹的代碼塊,且邏輯判斷順序顛倒,導致輸出語句可能永遠不被執行。

正確解題思路

要解決此問題,應遵循以下步驟:

  1. 循環變量從 100 遍歷到 200(或從 1 遍歷到 200 並判斷範圍)。
  2. 使用取模運算符 % 判斷能否被 3 整除(i % 3 == 0)。
  3. 滿足條件時輸出該數字。

標準參考代碼

#include <stdio.h>
int main() {
    int i;
    for(i = 100; i <= 200; i++) {
        if(i % 3 == 0) {
            printf("%d ", i);
        }
    }
    return 0;
}

也可以優化循環起始值,直接從 102(100 以上第一個 3 的倍數)開始,步長設為 3:

for(i = 102; i <= 200; i += 3) {
    printf("%d ", i);
}

核心知識點總結

  • 循環變量不可在循環體內隨意修改,否則破壞循環控制邏輯。
  • 善用取模運算符(%)進行整除判斷,語義清晰且效率高。
  • 代碼縮進與大括號使用要規範,避免 if、for 等語句的作用域混淆。

掌握這些基礎概念,能幫助初學者避開常見陷阱,編寫出結構清晰、邏輯正確的 C++ 程序。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved