列印高度 5 行的倒置空心金字塔:
*********
* *
* *
* *
*
原始碼中條件判斷有語法錯誤(br="" 等 HTML 殘留),修正後:
#include <stdio.h>
const int num = 5;
int main() {
int i, j;
for(i = num; i > 0; i--) {
for(j = 1; j < 2*num; j++) {
if(i < num) {
// 非頂行:只列印左右邊界
if(j == num - i + 1 || j == num + i - 1) {
printf("*");
} else {
printf(" ");
}
} else {
// 頂行:全部列印 *
if(j >= num - i + 1 && j <= num + i - 1) {
printf("*");
} else {
printf(" ");
}
}
}
printf("\n");
}
return 0;
}
| 特性 | 空心金字塔 (問題39) | 倒置空心金字塔 (問題40) |
|---|---|---|
| 外層迴圈 | i = 1; i <= num; i++ | i = num; i > 0; i-- |
| 實心行 | 底行 (i == num) | 頂行 (i == num) |
| 邊界行 | i < num | i < num |