题解 | 圣诞树

圣诞树

https://www.nowcoder.com/practice/9a03096ed8ab449e9b10b0466de29eb2

#include <stdio.h>
int main()
 {
    int n,i,j;//n表示输入的层数;
    int x;//x表示空格数量,空格数量=3*层数-1
    scanf("%d",&n);
    x=3*n-1;
    for(i=1;i<=n;i++)//n层,就有n次循环,一次循环输出一层
    {
        for(j=1;j<=x;j++)//第一行空格数
        {
            printf(" ");
        }
        for(j=1;j<=i;j++)//第一行都是(*加上五个空格),第一层就输出一个,第n层就输出n个(*+五个空格)
        {
            printf("*     ");
        }
        printf("\n");
        for(j=1;j<=x-1;j++)//第二行空格数
        {
            printf(" ");
        }
        for(j=1;j<=i;j++)//第二行都是(*空格*加三个空格),同上,第n层就输出n个(*空格*加三个空格)
        {
            printf("* *   ");
        }
        printf("\n");
        for(j=1;j<=x-2;j++)//第三行空格数
        {
            printf(" ");
        }
        for(j=1;j<=i;j++)//第三行都是(*空格*空格*空格),同上,第n层就输出n个(*空格*空格*空格)
        {
            printf("* * * ");
        }
        printf("\n");
        x-=3;//下一层的第一行空格数比上一层的第一行空格数少3
    }
    for(i=1;i<=n;i++)//树的尾巴数,n层就有n个尾巴,就用n次循环,一次循环输出一个尾巴
    {
        for(j=1;j<=3*n-1;j++)//尾巴前的空格数为3*层数-1
        printf(" ");
        printf("*\n");
    }
    
    return 0;
}

新手理解哈哈,

全部评论

相关推荐

10-09 17:17
已编辑
门头沟学院 Java
活泼的代码渣渣在泡池...:同学你好,我也是学院本,后天要面这个亚信科技,是实习,请问问题都啥样呀,我项目就做了网上的,这是第一次面试
投递多益网络等公司10个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务