题解 | #圣诞树#

圣诞树

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;
}

全部评论

相关推荐

我要娶个什么名:学长你电脑闹鬼了
点赞 评论 收藏
分享
不知道怎么取名字_:两个方向 1.简历针对性准备下 2.面试前也需要准备的 主要还是要看各个公司需求,看公司行业和岗位描述,那里面已经写了对技术的需求,一份简历,不可能和所有嵌入式岗位都匹配的
投递北京经纬恒润科技股份有限公司等公司6个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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