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

輸出

*
* *
* * *
* * * *
* * * * *
* * * * * *

在上面的程式中,有兩個for迴圈,迴圈變數分別為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;
}

更新於: 2020年6月24日

1K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告