题解 | #圣诞树#

圣诞树

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

#include <stdio.h>
//考虑圣诞树中出现元素的种类
// *_____      小树第一层 * + 五个空格
// *_*___      小树第二层 * + 空格 + * + 两个空格
// *_*_*_      小数第三层 * + 空格 + * + 空格 + * + 空格
// ________*   大树树干   3n-1个空格 + *
int main() {
    int n;
    while (scanf("%d", &n) != EOF) {
        for (int i = 0; i < 3 * n; ++i) {
            // 输出空格部分
            for (int j = 0; j < 3 * n - i - 1; ++j) {
                printf(" ");
            }
            // 输出小树第一层
            if ( i % 3 == 0 ) {
                for (int k = 0; k <= i / 3; ++k)
                    printf("*     ");
            }
            // 输出小树第二层
            else if ( (i - 1) % 3 == 0 ) {
                for (int k = 0; k <= (i - 1) / 3; ++k)
                    printf("* *   ");
            }
            //输出小树第三层
            else if ( (i - 2) % 3 == 0) {
                for (int k = 0; k <= (i - 2) / 3; ++k)
                    printf("* * * ");
            }
            printf("\n");
        }
        // 输出树干部分
        for (int i = 0; i < n; ++i) {
            for (int j = 0; j < 3 * n - 1; ++j) {
                printf(" ");
            }
            printf("*\n");
        }
    }
    return 0;
}

全部评论

相关推荐

就用这个吧:支持多益再加一个空气使用费
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务