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
- 如果j为1或n,则
- 结束for
- 对于j从1到n,执行以下操作:
- 否则
- 对于k从1到n,执行以下操作:
- 如果k为1或n,则
- 显示星号 (*)
- 否则
- 显示空格
- 结束if
- 如果k为1或n,则
- 结束for
- 对于k从1到n,执行以下操作:
- 结束if
- 将光标移到下一行
- 如果i为1或n或i为n*2,则
- 结束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。
广告