首页 >后端开发 >C++ >C++程序打印空心的右三角星形图案

C++程序打印空心的右三角星形图案

PHPz
PHPz转载
2023-08-30 11:01:041396浏览

C++程序打印空心的右三角星形图案

以金字塔、正方形和菱形等不同格式显示星形图案非常有用 常见于基础编程和逻辑构建。我们见过几颗星星 学习编程中的循环语句时的数字模式问题。在本文中, 我们将看到如何在 C++ 中打印空心直角三角形星形图案。

在此程序中,我们采用行号 n,这将为 n 个数创建一个星形图案 线。让我们看一下相同的示例。

右空心星形图案

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

在此示例中,有 n 行。每行都有几颗星星,在开头有 是空格。除第一行和最后一行外,该行中只有两颗星,并且 其间有空格。第一行仅包含一颗星,最后一行 包含 n 个星星。

每一行有 n – i 个空格,之后打印星星。 对于完整的右对齐三角形,我们连续打印星星。但我们在这里打印 对于第一个和最后一个位置,否则会打印空格以使其空心。在决赛中 行,它会打印所有星星来制作边框。

算法

  • 读取 n 作为输入
  • 对于从 1 到 n 的 i,执行
    • 对于范围从 1 到 n - i 的 j,执行以下操作
      • 输入空格
    • 结束
    • 对于从 1 到 i 的 k,执行
      • 如果 i 与 n 不同,则
        • 如果 k = 1 或 k = i,则
          • 显示“*”
        • 否则
          • 显示空白
        • 如果结束
      • 否则
        • 显示“*”
      • 如果结束
    • 结束
    • 将光标移至下一行
  • 结束

由于在线编译器的一些限制,我们在代码处添加了点而不是空格。 开始。否则,它有时会截断该行,并且输出会变得不正确。

示例

#include <iostream>
using namespace std;
void solve( int n ){
   for ( int i = 1; i <= n; i++ ) {
      for ( int j = 1; j <= n - i; j++ ) {
         cout << ".";
      }
      for ( int k = 1; k <= i; k++ ) {
         if ( i != n ) {
            if ( k == 1 || k == i ) {
               cout << "*";
            } else {
               cout << " ";
            }
         } else {
            cout << "*";
         }
      }
      cout << "\n";
   }
}
int main(){
   int n = 7;
   cout << "Hollow Star Pattern for " << n << " lines." << endl;
   solve( n );
}

输出

Hollow Star Pattern for 7 lines.
......*
.....**
....* *
...*  *
..*   *
.*    *
*******

输出(n = 18)

Hollow Star Pattern for 18 lines.
.................*
................**
...............* *
..............*  *
.............*   *
............*    *
...........*     *
..........*      *
.........*       *
........*        *
.......*         *
......*          *
.....*           *
....*            *
...*             *
..*              *
.*               *
******************

结论

星形模式易于实现,有助于研究编程中的循环概念。 在一些文章中,我们看到了打印金字塔、盒子等星形图案的技术 钻石。在本文中,我们了解了如何在 C++ 中显示空心金字塔。它需要 行数 n,然后显示右对齐的空心三角星形图案。每行都有 几个空格后有几颗星星。空格用于对齐(由于限制 对于在线编译器,我们使用点而不是空格进行对齐)。对于最后一行,它 打印所有星星,但对于其他行,它仅在第一行和最后一行的位置打印星星 柱子。这样就形成了空心三角形。

以上是C++程序打印空心的右三角星形图案的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:tutorialspoint.com。如有侵权,请联系admin@php.cn删除