初學者寫菱形星號程式時,常因第二個迴圈起始值、條件判斷錯誤,導致下半部不顯示。正確邏輯:上半部 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 線上驗證輸出結果。