题解 | #超级圣诞树#

超级圣诞树

https://www.nowcoder.com/practice/470d26c9a73e4e17be8cc45cac843423

#include<stdio.h>
int main()
{
    int n = 0;
    scanf("%d",&n);
    int row = 3;
    int col = 5;
    int i,j,k;
    char tree[400][800] = {"  *  "," * * ","* * *"};//题目的最大空间范围

    for(i=0; i<n-1; i++)//判断复制几个三角形
    {

        for(j=0; j<row; j++)//判断需要复制几行
        {
            for(k=0; k<col; k++)//判断一行需要复制几列
            {
                tree[row+j][k]=tree[j][k];//复制第一个三角形
                tree[row+j][k+1+col]=tree[j][k];//复制第二个三角形
            }
        }

        for(j=0; j<row; j++)//把原来的三角形还原成空格
        {
            for(k=0; k<col; k++)
            {
                tree[j][k]=' ';
            }
        }

        for(j=0; j<row; j++)//把左下角的三角形复制到上方正中间
        {
            for(k=0; k<col; k++)
            {
                tree[j][k+row]=tree[j+row][k];
            }
        }

        row *= 2;
        col = col*2+1;

    }

    //打印圣诞树树帽
    for(j=0; j<row; j++)
    {
        for(k=0; k<col; k++)
        {
            if(tree[j][k]=='*')
            printf("%c",tree[j][k]);
            else
            printf(" ");
        }
        printf("\n");
    }

    //打印树柄
   for(i=0; i<n; i++)
   {
    for(j=0; j<row-1; j++)
    {
        printf(" ");
    }
    printf("*\n");
   }


    return 0;
}

全部评论

相关推荐

07-29 14:49
门头沟学院 Java
ResourceUt...:浙大✌️吉祥
点赞 评论 收藏
分享
自学java狠狠赚一...:骗你点star的,港卵公司,记得把star收回去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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