C 语言图案程序

17 Mar 2025 | 6 分钟阅读

用编程创造出一些与众不同的东西总是很有趣的。在制作更具创意的东西之前,通过编程创建模式将是你的第一步。在本文中,我们将讨论如何使用 C 编程语言创建一些有趣的模式。

在本文中,我们将讨论以下模式

  1. 星号半金字塔
  2. 数字半金字塔
  3. 字母半金字塔
  4. 星号和数字反向半金字塔
  5. 星号满金字塔
  6. 数字满金字塔
  7. 星号反向满金字塔
  8. 杨辉三角
  9. 弗洛伊德三角

这些是一些基础且经常创建的模式。我们可以使用编程语言创建许多其他不同类型的模式和艺术。

1. 星号半金字塔

代码

理解

我们从用户那里获取所需的行数。我们使用一个“for 循环”,并在其中嵌套另一个循环。外层循环管理要插入星号的位置或行,内层循环在管理列的位置插入星号。假设用户输入 3。它应该像这样:

当 i=1 时,j =1

当 i=2 时,j=1,j=2

当 i=3 时,j=1,j=2,j=3

Pattern Programs in C

2. 数字半金字塔

这与星号半金字塔非常相似。但唯一的区别是将星号替换为数字,如下所示:

代码

理解

仔细观察,要打印的数字是 j 的值。为了清楚起见,假设我们给 r = 4,

第一次迭代:i=1,j=1

第二次迭代:i=2,j=1,j=2

第三次迭代:i=3,j=1,j=2,j=3

第四次迭代:i=4,j=1,j=2,j=3,j=4

因此,我们在每次迭代中打印“j”的值。

3. 字母半金字塔

同样,这与以前一样,但现在我们要打印字母,如下所示:

代码

理解

在这里,我们需要打印第 n 行的第 n 个字母,n 次。我们可以使用这种关系,而不是询问所需的行数。我们询问用户最后一行要打印的字母是什么。根据该字母的顺序,我们将知道所需的行数。假设用户想要 E,E 是第 5 个字母。所以

A

B B

C C C

D D D D

E E E E E

需要注意的点

  • 假设输入为 E
    输入-'A' = 5
  • ++alpha = 'A' + 1 = 'B'
    'B' + 1 = 'C'…….

4. 星号反向半金字塔

分析差异,这是排列。i 和 j 负责排列,所以我们需要改变它们。

它看起来应该像这样:

代码

理解

在这里,要打印的行值需要反转,1 应变为 5,2-4,3-3,2-4,1-5。

为此,我们需要从最后一个或末尾开始迭代 i,而不是递增,我们需要递减它。

因此,我们将 i 从行的值开始,并将其递减到 1。

5. 数字反向半金字塔

这与数字半金字塔相同,但需要反转 - 遵循上面金字塔的“i”迭代。

代码

满金字塔

6. 星号满金字塔

输出

         *
      * * *
    * * * * *
  * * * * * * *
* * * * * * * * *

代码

7. 数字满金字塔

输出

         1
      2 3 2
    3 4 5 4 3
  4 5 6 7 6 5 4
5 6 7 8 9 8 7 6 5

代码

8. 星号倒置满金字塔

输出

* * * * * * * * *
  * * * * * * *
    * * * * *
      * * *
        *

代码

9. 杨辉三角

输出

           1
         1   1
       1   2   1
     1   3   3    1
   1  4    6   4   1
 1  5   10   10  5   1

代码

10. 弗洛伊德三角

输出

1
2 3
4 5 6
7 8 9 10

代码


下一个主题C语言SJF调度程序