首页 > 文章列表 > C++程序打印正方形星形图案

C++程序打印正方形星形图案

打印 正方形 星形图案
419 2023-09-01

使用星号(星号)等特殊字符设计模式是最常见的模式之一 理解循环概念的程序类型。还有很多其他的星星图案 本质上很常见的程序。星形金字塔相当简单,但内容却很多 更有效地理解循环语句及其条件。在这篇文章中,我们将 了解如何在 C++ 中使用星形显示方形图案。最初是完整的正方形和 然后是空心正方形。

显示完整的方形图案

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

共有七行。所以考虑 n = 7。因为我们正在尝试打印完整的正方形。 每行将打印 n 个星星。框架公式的相应表格如下 下面 -

行号 (i) 星星数 (j)
1 7
2 7
3 7
4 7
5 7
6 7
6 7
7 7

这里所有行的星数都是恒定的。让我们看看这个算法 -

算法

  • 读取行数作为输入 n
    • 对于从 1 到 n 的 i,执行
    • 对于范围从 1 到 n 的 j,执行
      • 打印星号
    • 结束
    • 将光标移至下一行
  • 结束

示例

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

输出

Complete Square Star Pattern of 10 lines:
* * * * * * * * * * 
* * * * * * * * * * 
* * * * * * * * * * 
* * * * * * * * * * 
* * * * * * * * * * 
* * * * * * * * * * 
* * * * * * * * * * 
* * * * * * * * * * 
* * * * * * * * * * 
* * * * * * * * * * 

显示空心方形图案

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

在此模式中,第一行和最后一行都有 n 个星星。其余行有两颗星, 一个在开头,另一个在结尾。这可以通过以下几条来详细说明 点 -

  • 当行号“i”为1或n时,打印n个星
  • 否则,对于第一列和最后一列,打印 * 其余部分用空格“ ”填充。

让我们看看正确的算法以便更好地理解。

算法

  • 读取行数作为输入 n
  • 对于从 1 到 n 的 i,执行
    • 对于范围从 1 到 n 的 j,执行
      • 如果 i 是 1 或 n,则
        • 打印星号
      • 否则当 j = 1 或 n 时,则
        • 打印星号
      • 否则
        • 打印空白
      • 如果结束
    • 结束
    • 将光标移至下一行
  • 结束

示例

#include <iostream>
using namespace std;
void solve( int n ){
   int i, j;
   for( i = 1; i <= n; i++ ) {
      for( j = 1; j <= n; j++ ) {
         if( i == 1 || i == n ) {
            cout << "* ";
         } else if( j == 1 || j == n ) {
            cout << "* ";
         } else {
            cout << "  ";
         }
      }
      cout << endl;
   }
}
int main(){
   int n = 10;
   cout << "Hollow Square Star Pattern of " << n << " lines:" << endl;
   solve( n );
}

输出

Hollow Square Star Pattern of 10 lines:
* * * * * * * * * * 
*                 * 
*                 * 
*                 * 
*                 * 
*                 * 
*                 * 
*                 * 
*                 * 
* * * * * * * * * * 

输出(n = 18)

Hollow Square Star Pattern of 18 lines:
* * * * * * * * * * * * * * * * * *
*                                 *
*                                 *
*                                 *
*                                 *
*                                 *
*                                 *
*                                 *
*                                 *
*                                 *
*                                 *
*                                 *
*                                 *
*                                 *
*                                 *
*                                 *
*                                 *
* * * * * * * * * * * * * * * * * *

结论

就像使用星星的三角形图案一样,我们还可以显示一些其他的图案结构 使用简单的逻辑编程。在本文中,我们展示了如何显示正方形 图案,一个是完整的,另一个是空心的。对于完整的图案,每一行都必须 有 n 颗星星。星星数量是恒定的。另一方面,对于空心正方形, 第一行和最后一行将有 n 颗星,但其余行将只有两颗星 星星。第一个和最后一个字符将是星星,中间字符是空格 用于填充。