列印高度 9 行(上半部 4 行 + 下半部 5 行)的實心菱形:
*
***
*****
*******
*********
*******
*****
***
*
分兩階段列印:
i = 1 到 num-1,同正向金字塔i = num 到 1,同倒向金字塔#include <stdio.h>
const int num = 5;
int main() {
int i, j;
// 列印上半部(不含中間最寬行)
for(i = 1; i < num; i++) {
for(j = 1; j < 2*num; j++) {
if(j >= num - i + 1 && j <= num + i - 1) {
printf("*");
} else {
printf(" ");
}
}
printf("\n");
}
// 列印下半部(含中間最寬行)
for(i = num; i > 0; i--) {
for(j = 1; j < 2*num; j++) {
if(j >= num - i + 1 && j <= num + i - 1) {
printf("*");
} else {
printf(" ");
}
}
printf("\n");
}
return 0;
}
i < num 避免中間行重複num 開始包含最寬行