本系列第一支程式,同樣列印頂朝上實心等腰三角形,但註解更詳細,適合完全初學者閱讀。
#include <stdio.h>
const int num = 5; // 三角形高度(行數)
int main()
{
int i, j; // i: 行號, j: 列號
// 外層迴圈:控制行數 1~num
for (i = 1; i <= num; i++) {
// 內層迴圈:掃描每行的 1 ~ 2*num-1 列
for (j = 1; j < 2*num; j++) {
// 判斷當前列是否在星號區間內
// 左邊界 = num - i + 1, 右邊界 = num + i - 1
if (j >= num-i+1 && j <= num+i-1)
printf("*"); // 在區間內印星號
else
printf(" "); // 否則印空格保持對齊
}
printf("\n"); // 換行
}
return 0;
}
*
***
*****
*******
*********
if 決定該座標印什麼j 從 1 開始,對應螢幕左到右j<=2*num 會多一列)> < 而非 >= <= 導致少印一邊printf(\"\\n\") 導致全擠在同一行嘗試修改程式列印:
