C ++程序创建金字塔和图案

在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;
}