#include <stdio.h> int main() { int a; scanf("%d",&a); int i,j; for(i=0;i<3*a;i++)//3*a行遍历树枝部分 { for(j=3*a-1-i;j>0;j--) { printf(" ");//每行开头的空格数 } for(j=0;j<=i;j+=3) { if(i%3==0)//这3个if是受到他人启发写的,原作者这个思路相当棒,让我在一团乱麻中找到了突破口 printf("* "); if(i%3==1) printf("* * "); if(i%3==2) printf("* * * "); } printf("\n"); } for(i=0;i<a;i++)//树干部分 { for(j=1;j<3*a;j++) { printf(" "); } printf("*\n"); } return 0; }