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

C++ 列印菱形星號:雙重迴圈邏輯完整修正

     編輯:程式設計疑難解答

初學者寫菱形星號程式時,常因第二個迴圈起始值、條件判斷錯誤,導致下半部不顯示。正確邏輯:上半部 1~4 行,下半部 3~1 行遞減。

完整可執行程式碼

#include <iostream>
using namespace std;
int main() {
    // 上半部
    for (int i = 1; i <= 4; i++) {
        for (int j = 1; j <= 4 - i; j++) cout << " ";
        for (int k = 1; k <= 2 * i - 1; k++) cout << "*";
        cout << endl;
    }
    // 下半部
    for (int i = 3; i >= 1; i--) {
        for (int j = 1; j <= 4 - i; j++) cout << " ";
        for (int k = 1; k <= 2 * i - 1; k++) cout << "*";
        cout << endl;
    }
    return 0;
}

關鍵點解析

  • 上半部行數 i=1..4,空格數 4-i,星號數 2*i-1。
  • 下半部行數 i=3..1,公式相同,形成對稱菱形。
  • 每行結尾必須 endl 換行,否則輸出連在一起。

可在 codepad 線上驗證輸出結果。

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