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


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

显示完整正方形图案

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

有七行。所以考虑n = 7。由于我们试图打印完整的正方形。每一行都将打印n个星号。构建公式的相应表格如下所示 -

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

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

算法

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

示例

#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
  • 对于i从1到n,执行
    • 对于j从1到n,执行
      • 如果i为1或n,则
        • 打印星号
      • 否则,当j为1或n时,则
        • 打印星号
      • 否则
        • 打印空格
      • 结束if语句
    • 结束循环
    • 将光标移到下一行
  • 结束循环

示例

#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个星号,但其余行将只有两个星号。第一个和最后一个字符将是星号,中间字符是用于填充的空格。

更新于: 2022年12月13日

10K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告