在C ++中可以创建许多不同的金字塔模式。这些大多是使用嵌套的for循环创建的。可以创建的一些金字塔如下。
创建基本金字塔的代码如下。
#include <iostream> using namespace std; int main() { int n = 6, i, j; for (i=1; i<=n; i++) { for(j=1; j<=i; j++ ) { cout << "* "; } cout << endl; } return 0; }
输出结果
* * * * * * * * * * * * * * * * * * * * *
在上面的程序中,有2个用于循环的变量i和j。外部for循环计算金字塔行的数量,内部for循环计算每行中显示的星星的数量。使用以下代码段对此进行了演示。
for (i=1; i<=n; i++) { for(j=1; j<=i; j++ ) { cout << "* "; } cout << endl; }
创建旋转金字塔的代码如下。
#include <iostream> using namespace std; int main() { int n = 6, k = 2*n - 2; for (int i=0; i<n; i++) { for (int j=0; j<k; j++) cout <<" "; for (int j=0; j<=i; j++ ) cout << "* "; k = k - 2; cout << endl; } return 0; }
输出结果
* * * * * * * * * * * * * * * * * * * * *
在上面的程序中,有两个嵌套循环,分别带有循环变量i和j。k的值设置为2 * n -2。外部的for循环计算金字塔行的数量。第一个内部循环指定星号之前的空格数。下一个内部循环指定每行中的星星数。
使用以下代码段对此进行了演示。
for (int i=0; i<n; i++) { for (int j=0; j<k; j++) cout <<" "; for (int j=0; j<=i; j++ ) cout << "* "; k = k - 2; cout << endl; }