以金字塔、正方形和菱形等不同格式显示星形图案非常有用 常见于基础编程和逻辑构建。我们见过几颗星星 学习编程中的循环语句时的数字模式问题。在本文中, 我们将在 C++ 中显示由星星组成的数字八 (8)。
在这个程序中,我们取行号 n,它是 8 的上半部分的大小。 下半部分将是相同的。八个图案如下所示
带星星的八种图案
' * * *
* *
* *
* *
* * *
* *
* *
* *
* * *
在上面的例子中,行数,n = 5。对于前五行,8的上半部分是 正在形成。当行号为 1、n 和 n*2 时,星号打印在 连续时尚。对于其余的其他行,仅打印两颗星。让我们看看 算法以便更好地理解。
算法
- 将输入n作为8上半部分的行数
- 对于 i 的范围从 1 到 2n - 1,执行
- 如果 i 是 1 或 n 或 i 是 n*2,则
- 对于范围从 1 到 n 的 j,执行
- 如果 j 为 1 或 n,则
- 显示空白
- 否则
- 显示星号 (*)
- 如果结束
- 如果 j 为 1 或 n,则
- 结束
- 对于范围从 1 到 n 的 j,执行
- 否则
- 对于从 1 到 n 的 k,执行
- 如果 k 为 1 或 n,则
- 显示星号 (*)
- 否则
- 显示空白
- 如果结束
- 如果 k 为 1 或 n,则
- 结束
- 对于从 1 到 n 的 k,执行
- 如果结束
- 将光标移至下一行
- 如果 i 是 1 或 n 或 i 是 n*2,则
- 结束
示例
'#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,它将行数乘以 2 来生成 n*2 行图案。上半部和下半部都是由n行组成。 此外,图案的宽度大小为 n。