C++程序打印直角三角形星号图案


星号 "*" 用于星号图案中表示各种形状,例如三角形、菱形、空心形状等。星号图案就是这些形状的名称。本教程将演示如何使用 C++ 显示左对齐的三角形星号图案。这里,我们接受星号图案的行数作为输入。图案将根据该行数打印。

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

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

在这个例子中,有 6 行。所以考虑 n = 6。对于每一行 ‘i’,都有星号,也有用于填充的空格。我们必须制定星号和空格的关系才能显示图案。

行号 (i) 星号数量 (j) 空格 (k)
1 1 5
2 2 4
3 3 3
4 4 2
5 5 1
6 6 0

在这个问题中,星号的数量遵循行号 ‘i’,但空格逐渐减少。它遵循 (n – i)。为了实现这一点,我们需要另一个循环仅用于空格,在打印星号之前。

算法

  • 读取行数作为输入 n
  • 对于 i 从 1 到 n,执行
    • 对于 k 从 1 到 (n - i),执行
      • 显示空格 (' ')
    • 结束循环
    • 对于 j 从 1 到 i,执行
      • 显示星号 ( * )
    • 结束循环
    • 将光标移到下一行
  • 结束循环

由于我们的在线编译器有时会截断行并删除每行之前和之后的空格,因此我们通过在空格处放置点 (.) 来进行测试。

示例

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

输出

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

输出 (对于 n = 18)

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

结论

在学习任何语言的编程时,星号图案用于教授嵌套循环。本文演示了在给出行数时如何显示右对齐的三角形。它将显示有多少行以及每行有多少个星号。为了对齐,在星号之前显示空格(在线编译器导致我们打印点而不是空格)。在本地测试它们时,您可以使用空隙进行测试。还研究了一种表格方法来确定第 i 行的星号和空格。我们可以轻松地更改公式,使用这个想法来演示其他图案。

更新于:2022年12月13日

4K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.