牛客网BC114 圣诞树

描述

今天是圣诞节,牛牛要打印一个漂亮的圣诞树送给想象中的女朋友,请你帮助他实现梦想。

输入描述:

输入圣诞树的高度h,1<=ℎ<=1001<=h<=100

输出描述:

输出对应的圣诞树

输入案例

案例一

输入:1
输出  :
  *  
 * * 
* * *
  *
输入:2
输出:
     *     
    * *    
   * * *   
  *     *  
 * *   * * 
* * * * * *
     *
     *
输入:3
输出:
        *  
       * * 
      * * *
     *     *  
    * *   * * 
   * * * * * *
  *     *     *  
 * *   * *   * * 
* * * * * * * * *
        *
        *
        *

代码讲解

我们可以发现这些大的圣诞树其实都有共同的基本单位,即下图:

  *  
 * * 
* * *

例如当输入3时,先循环打印1个基本单位,第一个基本单位要分三行打印

再换行打印两个,也是分三行

最后换行打印三个,还是分三行

同时发现每行还有一定的空格,于是在每行实现上述打印时还需要打印空格

代码如下

#include 
int main()
{
    int count;
    scanf("%d", &count);
    for (int a = 1; a <= count; a++)
    {
        for (int i = 0; i < count - a; i++)
            printf("   ");
        for (int i = 0; i < a; i++)
        {
            printf("  *   ");
        }
        printf("\n");
        for (int i = 0; i < count - a; i++)
            printf("   ");
        for (int i = 0; i < a; i++)
        {
            printf(" * *  ");
        }
        printf("\n");
        for (int i = 0; i < count - a; i++)
            printf("   ");
        for (int i = 0; i < a; i++)
        {
            printf("* * * ");
        }
        printf("\n");
    }
    int sum = (count * 6-1) / 2;
    for (int j = 0; j < count; j++)
    {
        for (int i = 0; i < sum; i++)
        {
            printf(" ");
        }
        printf("*\n");
    }    return 0;
}

你可能感兴趣的:(牛客,算法,c语言,排序算法)