题解 | 圣诞树

圣诞树

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

#include <stdio.h>

void tree(int n )
{
    int sum = (2+3*(n-1))*2+1;
    int num = 2+3*(n-1);
    while (num > 0) {
        for (int i = 0; i < num; i++) {
            printf(" ");
        }
        printf("*");
        int number = sum - (num+6);
        while (number >= num+1) {
            for (int i = 0; i < 5; i++) {
                printf(" ");
            }
            printf("*");
            number =  number - 6; 
        }
        printf("\n");
        for (int i = 0; i  < num-1; i++) {
            printf(" ");
        }
        printf("* *");
        number = sum - (num-1+6);
        while (number>= num-1+3) {
            for (int i = 0; i < 3; i++) {
                printf(" ");
            }
            printf("* *");
            number =  number - 6; 
        }
        printf("\n");
        for (int i = 0; i  < num-2; i++) {
            printf(" ");
        }
        printf("* * *");
        number = sum - (num-2+6);
        while (number>= num-2+5) {
            for (int i = 0; i < 1; i++) {
                printf(" ");
            }
            printf("* * *");
            number =  number - 6; 
        }
        printf("\n");
        num = num-3;

    }
    num = 2+3*(n-1);
    for (int i =  0; i < n; i++) {
        for (int j = 0;j< num; j++) {
            printf(" ");
        
        }
        printf("*");
        printf("\n");
    
    }

}

int main() {
    int n;
    scanf("%d",&n);
    tree(n);
    
    return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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