25 打印金字塔

Posted shanlu0000

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了25 打印金字塔相关的知识,希望对你有一定的参考价值。

 技术图片

1,思路分析,

  先打印出矩形 --》 打印出一半金字塔  -> 打印出完整金字塔  -> 打印出空心金字塔

①先打印矩形

技术图片

 

 

 技术图片

 

 

 ②再打印一半的金字塔

 技术图片

 

 技术图片

 

 ③,打印完整的金字塔(找到行和列的关系)

  每一行的数目是 1,3,5,7,9,即 2*i-1

技术图片

 

 技术图片

 

 ④处理每一层前的空格

  最后一行(第7行)前空格:0

  第6行前空格:      1

  第5行前空格:      2

  第4行前空格       3

  第3行前空格       4

  第2行前空格       5

  第1行前空格                    6

  。。。

  第n 行前空格:      7-n

技术图片

 

 技术图片

 5,打印空心金字塔(处理星号打印时的空格)

 1 #include<stdio.h>
 2 
 3 void main() {
 4     for (int i = 1;i <= 7;i++) {
 5         for (int k = 1;k<=(7-i);k++) {
 6             printf(" ");
 7         }
 8         for (int j = 1;j <= (2*i-1);j++) {
 9             if (j == 1 || j == 2*i-1||i==7) {
10                 printf("*");
11             }
12             else {
13                 printf(" ");
14             }
15         }
16         printf("
");
17     }
18 }

技术图片

 7,通过用户的输入控制金字塔层数

 1 #include<stdio.h>
 2 
 3 void main() {
 4     int num = 0;
 5     printf("请输入层数:");
 6     scanf("%d", &num);
 7     for (int i = 1;i <= num;i++) {
 8         for (int k = 1;k<=(num-i);k++) {
 9             printf(" ");
10         }
11         for (int j = 1;j <= (2*i-1);j++) {
12             if (j == 1 || j == 2*i-1||i==num) {
13                 printf("*");
14             }
15             else {
16                 printf(" ");
17             }
18         }
19         printf("
");
20     }
21 }

技术图片

 

 练习:打印空心菱形

    *

  *   *

*       *

  *   *

    *

 

 

 

 

 

 

 

  

 

以上是关于25 打印金字塔的主要内容,如果未能解决你的问题,请参考以下文章

java n的金字塔

如何打印完整的金字塔图案?

怎么用java打印金字塔

打印数字金字塔(python)

ForDemo.java打印一个金字塔

用python打印数字金字塔