打印空心金字塔
#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个*
- 第二层2个*
- 第三层3个*
- 第四层4个*
- 第五层5个*
3.打印完整的金字塔
* *** ***** ********* |
4.打印空心金字塔
- 第1层1个*,当前行第一个位置是*,最后一个也是*
- 第2层2个*,当前行第一个位置是*,最后一个也是*
- 第3层3个*,当前行第一个位置是*,最后一个也是*
- 第4层4个*,当前行第一个位置是*,最后一个也是*
- 第5层5个*,当前行第一个位置是*,最后一个也是*