使用巢狀迴圈列印指定的星號圖形。本題為系列第二題,輸出一個倒置的等腰三角形(或視為菱形的下半部)。
*********
*******
*****
***
*
第 1 行:9 顆星(2×5-1)
第 2 行:7 顆星(2×4-1)
第 3 行:5 顆星(2×3-1)
第 4 行:3 顆星(2×2-1)
第 5 行:1 顆星(2×1-1)
#include <stdio.h>
const int num = 5;
int main() {
int i, j;
for (i = num; i >= 1; i--) {
// 印前導空格
for (j = 1; j <= num - i; j++) {
printf(" ");
}
// 印星號
for (j = 1; j <= 2*i - 1; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
提供的程式碼使用單一內層迴圈配合條件判斷:
for (i = num; i >= 1; i--) {
for (j = 1; j < 2*num; j++) {
if (j >= num-i+1 && j <= num+i-1) {
printf("*");
} else {
printf(" ");
}
}
printf("\n");
}
邏輯等價性說明:
星號圖形題目是迴圈控制與邏輯思維的基礎訓練,掌握「行號→字元數」的映射關係是關鍵。