#include<stdio.h>
int main() {
/*解析:
可把每个圣诞树看成是由多个
*
* *
* * *
的圣诞树 ,观察这个三角形多个合成时,发现第一行由一个*和五个空格组成
第二行由* *与三个空格组合隔开为圣诞树的左半树
第三行由* * * 组成,每颗*之间一个空格,循环控制打印圣诞树
最后的树柄数量等于a,树柄的前面空格规律是3*a-1用内循环控制,外循环控制打印*作为树柄
*/
int a, i, j;
scanf("%d", &a);
int d = 3 * a; //d为开始的前面的空格数
for (i = 0 ; i < a; i++) {
for (j = d - 1; j > 0; j--)
printf(" ");
for (j = 0; j < i + 1; j++)
printf("* ");//5个空格
printf("\n"); //打印第一行
for (j = d - 2; j > 0; j--)
printf(" ");
for (j = 0; j < i + 1; j++)
printf("* * "); //* *和三个空格组成控制
printf("\n"); //打印第二行
for (j = d - 3; j > 0; j--)
printf(" ");
for (j = 0; j < i + 1; j++)
printf("* * * ");
printf("\n"); //打印第三行
d -= 3;
}
for (i = 0; i < a; i++) {
for (j = 0; j < 3 * a - 1; j++)
printf(" ");
printf("*\n");
}
return 0;
}