C++程序打印直角三角形星号图案
星号 "*" 用于星号图案中表示各种形状,例如三角形、菱形、空心形状等。星号图案就是这些形状的名称。本教程将演示如何使用 C++ 显示左对齐的三角形星号图案。这里,我们接受星号图案的行数作为输入。图案将根据该行数打印。
下表将包含我们创建的打印星号的逻辑。下表可以帮助我们理解。
*
* *
* * *
* * * *
* * * * *
* * * * * *
在这个例子中,有 6 行。所以考虑 n = 6。对于每一行 ‘i’,都有星号,也有用于填充的空格。我们必须制定星号和空格的关系才能显示图案。
| 行号 (i) | 星号数量 (j) | 空格 (k) |
|---|---|---|
| 1 | 1 | 5 |
| 2 | 2 | 4 |
| 3 | 3 | 3 |
| 4 | 4 | 2 |
| 5 | 5 | 1 |
| 6 | 6 | 0 |
在这个问题中,星号的数量遵循行号 ‘i’,但空格逐渐减少。它遵循 (n – i)。为了实现这一点,我们需要另一个循环仅用于空格,在打印星号之前。
算法
- 读取行数作为输入 n
- 对于 i 从 1 到 n,执行
- 对于 k 从 1 到 (n - i),执行
- 显示空格 (' ')
- 结束循环
- 对于 j 从 1 到 i,执行
- 显示星号 ( * )
- 结束循环
- 将光标移到下一行
- 对于 k 从 1 到 (n - i),执行
- 结束循环
由于我们的在线编译器有时会截断行并删除每行之前和之后的空格,因此我们通过在空格处放置点 (.) 来进行测试。
示例
#include <iostream>
using namespace std;
void solve( int n ){
int i, j, k;
for( i = 1; i <= n; i++ ) {
for( k = 1; k <= (n - i); k++ ) {
cout << ". ";
}
for( j = 1; j <= i; j++ ) {
cout << "* ";
}
cout << endl;
}
}
int main(){
int n = 10;
cout << "Left Star Pattern using " << n << " number of lines:" << endl;
solve( n );
}
输出
Left Star Pattern using 10 number of lines: . . . . . . . . . * . . . . . . . . * * . . . . . . . * * * . . . . . . * * * * . . . . . * * * * * . . . . * * * * * * . . . * * * * * * * . . * * * * * * * * . * * * * * * * * * * * * * * * * * * *
输出 (对于 n = 18)
Left Star Pattern using 18 number of lines: . . . . . . . . . . . . . . . . . * . . . . . . . . . . . . . . . . * * . . . . . . . . . . . . . . . * * * . . . . . . . . . . . . . . * * * * . . . . . . . . . . . . . * * * * * . . . . . . . . . . . . * * * * * * . . . . . . . . . . . * * * * * * * . . . . . . . . . . * * * * * * * * . . . . . . . . . * * * * * * * * * . . . . . . . . * * * * * * * * * * . . . . . . . * * * * * * * * * * * . . . . . . * * * * * * * * * * * * . . . . . * * * * * * * * * * * * * . . . . * * * * * * * * * * * * * * . . . * * * * * * * * * * * * * * * . . * * * * * * * * * * * * * * * * . * * * * * * * * * * * * * * * * *
结论
在学习任何语言的编程时,星号图案用于教授嵌套循环。本文演示了在给出行数时如何显示右对齐的三角形。它将显示有多少行以及每行有多少个星号。为了对齐,在星号之前显示空格(在线编译器导致我们打印点而不是空格)。在本地测试它们时,您可以使用空隙进行测试。还研究了一种表格方法来确定第 i 行的星号和空格。我们可以轻松地更改公式,使用这个想法来演示其他图案。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP