题解 | #圣诞树#

圣诞树

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

#include <stdio.h>
#include<math.h>
int one(){printf("*     "); return 0;}/*小圣诞树第一行*/
int two(){printf("* *   "); return 0;}/*小圣诞树第二行*/
int three(){printf("* * * "); return 0;}/*小圣诞树第三行*/
int main() 
{
    int n;
    while(scanf("%d",&n)!=EOF)
    for(int i=1;i<=3*n;i++)/*树叶部分共打印3*n行*/
    {
     int p=3*n-i;
     while(p!=0){printf(" "); p--;} /*打印第一个*号前的空格*/
     double a=ceil((double)i/3);/*用向上取整函数确定小圣诞树循环次数*/
     int b=i%3;/*确定小圣诞树的行数*/
     for(int j=1;j<=a;j++)
     switch(b)/*根据行数打印对应字符*/
     {
        case 1:one();break;
        case 2:two();break;
        default:three();break;
     }
     printf("\n");
    }
    for(int i=1;i<=n;i++)/*打印树根部分*/
    {
     for(int j=1;j<=3*n-1;j++)
     printf(" ");
     printf("*\n");
    }
    return 0;
}

全部评论

相关推荐

09-29 16:59
已编辑
门头沟学院 Java
牛客96609213...:疯狂背刺,之前还明确设置截止日期,还有笔试,现在一帮人卡在复筛,他反而一边开启扩招,还给扩招的免笔试,真服了,你好歹先把复筛中的给处理了再说
投递大疆等公司10个岗位
点赞 评论 收藏
分享
牛客44664404...:把个人技能删了搞这么长干什么!还有你面试要先针对那个公司的技术栈专门去准备,别一问三不知,他需要你会他们公司对口的技术,写这么多不对口没有用
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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