C++程序打印8字星号图案


在基础编程和逻辑构建中,以不同格式(例如金字塔、正方形和菱形)显示星号图案非常常见。在学习编程中的循环语句时,我们已经看到了许多星号和数字图案问题。在本文中,我们将用C++显示用星号组成的数字8。

在这个程序中,我们取行数n作为数字8上半部分的大小。下半部分将相同。8字图案如下所示

用星号表示的8字图案

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

在上例中,行数n = 5。对于前五行,形成8的上半部分。当行号为1、n和n*2时,星号将连续打印。对于其他行,只打印两个星号。让我们看看算法以便更好地理解。

算法

  • 将输入n作为8的上半部分的行数
  • 对于i从1到2n-1,执行以下操作:
    • 如果i为1或n或i为n*2,则
      • 对于j从1到n,执行以下操作:
        • 如果j为1或n,则
          • 显示空格
        • 否则
          • 显示星号 (*)
        • 结束if
      • 结束for
    • 否则
      • 对于k从1到n,执行以下操作:
        • 如果k为1或n,则
          • 显示星号 (*)
        • 否则
          • 显示空格
        • 结束if
      • 结束for
    • 结束if
    • 将光标移到下一行
  • 结束for

示例

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

输出

Eight Pattern for 7 lines.
 ***** 
*     *
*     *
*     *
*     *
*     *
 ***** 
*     *
*     *
*     *
*     *
*     *
 ***** 

输出 (n = 12)

Eight Pattern for 12 lines.
 ********** 
*          *
*          *
*          *
*          *
*          *
*          *
*          *
*          *
*          *
*          *
 ********** 
*          *
*          *
*          *
*          *
*          *
*          *
*          *
*          *
*          *
*          *
 ********** 

结论

数值图案的显示是学习编程语言时遇到的更常见的问题之一。本文演示了如何使用星号来显示数字8(星号)。对于数字8,它将行数乘以二,以生成n*2行的图案。上半部分和下半部分都由n行组成。此外,图案的宽度为n。

更新于:2022年12月13日

893 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告