C 语言打印倒金字塔的程序

2025年3月17日 | 阅读 3 分钟

在本节中,我们将学习如何使用 C 语言打印倒金字塔。以下是一些示例

方法 1:图案分为三个部分

  1. 将使用 for 循环打印空行。
  2. 为了从左侧打印三角形,需要一个 for 循环。
  3. 将使用 for 循环打印剩余的三角形,从而形成完美的图案。

算法

  1. 将变量 i、j 和 space 分别设置为表示行、列和空格。
  2. 此示例中的行数为 7,但用户可以选择任何数字。
  3. 创建一个 for 循环,它将作为打印图案的主循环,并控制其中包含的其他循环。
  4. 在主循环中开始一个 for 循环来打印空格。
  5. 要开始打印星形图案,首先打印如下所示的半金字塔。为此,我们将开始一个条件为 2 * i - 1 的 for 循环,因此星数是奇数。
  6. 之后,我们将应用另一个 for 循环来打印图案的其余部分。
C Program For Printing Inverted Pyramid

下面显示了生成倒金字塔图案的 C 程序

C 语言

输出

* * * * * * * * * * * * * 
 * * * * * * * * * * * 
  * * * * * * * * * 
   * * * * * * * 
    * * * * * 
     * * * 
      *
  • 时间复杂度为 O(n2)。
  • 辅助空间将为 O(1)。

方法 2:需要两个 for 循环

  1. 将使用 for 循环打印空行。
  2. 为了打印星形,将使用 for 循环。

算法

  1. 将变量 I、j 和 rows 设置为其初始值。
  2. 这里的行数为 7,但用户可以选择任何数字。
  3. 创建一个 for 循环,它将作为显示图案的主循环,并驱动其中包含的其他循环。
  4. 创建一个从 1 到 I 运行的 for 循环,它将在主循环内部打印空格。
  5. 为了打印星形,运行一个从 1 到 rows * 2 - I * 2 - 1 的 for 循环。
  6. 借助换行符,转到下一行。

下面显示了生成倒金字塔图案的 C 代码

C 语言

输出

*************
 ***********
  *********
   *******
    *****
     ***
      *
  • 时间复杂度为 O(n2)。
  • 辅助空间将为 O(1)。