C语言—打印空心金字塔

发布时间 2023-09-23 18:31:36作者: Dr丶云幕
#include<stdio.h>
void main()
{
    int tier=15;//层数
    for(int i=1;i<=tier;i++){
        for (int k = 0; k < tier-i; k++)
        {
            printf(" ");
        }
        
        for ( int j = 1; j <= 2*i-1; j++)
        {
            if ( j == 1||j==2*i-1||i==tier)
            {
                printf("*");
            }
            else{
                printf(" ");
            }
        }
         printf("\n");
    }
   
}
 

代码分析

1.先打印一个矩形:

*****

*****

*****

*****

2.打印半个金字塔

*

**

***

****

*****

分析:

  1. 第一层1个*
  2. 第二层2个*
  3. 第三层3个*
  4. 第四层4个*
  5. 第五层5个*

3.打印完整的金字塔

     *    

    *** 

   *****

*********

4.打印空心金字塔

  1. 第1层1个*,当前行第一个位置是*,最后一个也是*
  2. 第2层2个*,当前行第一个位置是*,最后一个也是*
  3. 第3层3个*,当前行第一个位置是*,最后一个也是*
  4. 第4层4个*,当前行第一个位置是*,最后一个也是*
  5. 第5层5个*,当前行第一个位置是*,最后一个也是*