首页 > 文章列表 > C++程序打印下降星形三角形图案

C++程序打印下降星形三角形图案

打印 C程序 星形三角形
411 2023-08-29

通过打印星形设计可以更轻松地理解循环想法。星号用于 各种星形图案形成完整或空心三角形或菱形形式。在这个 在这篇文章中,我们将展示如何在 C++ 中创建一个居中对齐的递减三角形。

下表将包含我们创建的打印星星的逻辑。下表可以 帮助我们理解。

语法

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

这里显示了 7 行。对于每行 i,有 (n – i + 1) 颗星星。然而,每个 行有一些填充,这里每行的填充都在减少。而明星也有 恒定的填充。我们可以通过打印“*”(星号后跟空格)来实现这一点 而不是仅打印“*”。该表显示了空格和星星数量以及它们之间的关系 i 的值。

的中文翻译为: 的中文翻译为: 的翻译为: 的翻译为: 的中文翻译为: 的中文翻译为:
行号 (i) 星星数 (j) 空格(k)
1 77 0
2 66 1
3 5 2
44 44 3
5 3 4
66 2 5
77 1 6

这里,每行 i 的星数为 (n – i + 1)。空格数如下 (i – 1)。让我们 查看算法以理解这个概念。

算法

  • 读取行数作为输入 n
    • 对于从 1 到 n 的 i,执行
    • 对于 k 的范围从 1 到 (i - 1),执行
      • 显示空格 (' ')
    • 结束
    • 对于 j 从 1 到 (n - i + 1),执行以下操作
      • 显示星号后跟空格“*”
    • 结束
    • 将光标移至下一行
  • 结束

我们正在测试,通过在每行前用点(.)替换空格。因为我们 在线编译器有时会截断行并消除 和 之前的空格 在每行之后。

示例

#include <iostream>
using namespace std;
void solve( int n ){
   int i, j, k;
   for( i = 1; i <= n; i++ ) {
      for( k = 1; k <= (i - 1); k++ ) {
         cout << ".";
      }
      for( j = 1; j <= (n - i + 1); j++ ) {
         cout << "* ";
      }
      cout << endl;
   }
}
int main(){
   int n = 10;
   cout << "Downward Star Pattern using " << n << " number of lines:"
       << endl;
   solve( n );
}

输出

Downward Star Pattern using 10 number of lines:
* * * * * * * * * * 
.* * * * * * * * * 
..* * * * * * * * 
...* * * * * * * 
....* * * * * * 
.....* * * * * 
......* * * * 
.......* * * 
........* * 
.........* 

输出(当 n = 18 时)

Downward Star Pattern using 18 number of lines:
* * * * * * * * * * * * * * * * * * 
.* * * * * * * * * * * * * * * * * 
..* * * * * * * * * * * * * * * * 
...* * * * * * * * * * * * * * * 
....* * * * * * * * * * * * * * 
.....* * * * * * * * * * * * * 
......* * * * * * * * * * * * 
.......* * * * * * * * * * * 
........* * * * * * * * * * 
.........* * * * * * * * * 
..........* * * * * * * * 
...........* * * * * * * 
............* * * * * * 
.............* * * * * 
..............* * * * 
...............* * * 
................* * 
.................* 

结论

我们设计程序来打印星星图案,以学习几乎任何编程语言

嵌套的for循环语法。在本文中,我们已经介绍了如何打印一个居中对齐的 下行三角形图案。星号被放置以打印三角形,空格被使用 将三角形对齐到中心(由于在线编译器的一些限制,我们打印 点而不是空格)。您可以通过在中间放置间隙来在本地测试它们 用点号而不是空格来表示间隔)。您可以在本地测试它们,只需在中间放置间隔即可 句子。还证明了第i行的星星和空白空间 可以使用表格技术找到。利用这个概念,我们可以轻松修改 公式显示额外模式的方法。从表格中进行简单更改可以帮助显示 不同的三角形模式。有时删除空格会使三角形左对齐。