列印高度 num、底寬 2*num-1 的實心直角三角形,直角在左下角,斜邊從右上指向左下。
第 i 行(從 num 遞減至 1),星號佔據第 1 列到第 2*i-1 列:
if (j >= 1 && j <= 2*i-1) printf("*");
else printf(" ");
#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 (j >= 1 && j <= 2*i-1) printf("*");
else printf(" ");
}
printf("\n");
}
return 0;
}
*********
*******
*****
***
*
行號 i 星數(2i-1) 空格數
5 9 0
4 7 2
3 5 4
2 3 6
1 1 8
j > 2*num - (2*i-1)i=1..num,條件不變i=1..num,條件鏡像j==1 || j==2*i-1 || i==num