用C程序打印空心星形金字塔

image

解题思路

用10*10网格

第1行打印9个空格

第2行打印8个空格

第3行打印7个空格

以此类推

从第1行开始列如果(j==1||j==i)则打印星与空格,否则打印两个空格,最后一行打印10个星和空格

/*
打印如下:
         *
        * *
       *   *
      *     *
     *       *
    *         *
   *           *
  *             *
 *               *
* * * * * * * * * *
 */

#include 
int main()
{
    int i;
    int j;
    for (i = 1; i <= 10; i++)
    {
        for (j = 0; j < 10 - i; j++)
        {
            printf(" ");
        }
        for (j = 1; j <= i; j++)
        {
            if (j == 1 || j == i)
            {
                printf("* ");
            }
            else if (i == 10)
            {
                printf("* ");
            }
            else
            {
                printf("  ");
            }
        }
        printf("\n");
    }
    return 0;
}

你可能感兴趣的:(c)