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,執行
      • 顯示星號 ( * )
    • 結束迴圈
    • 將游標移到下一行
  • 結束迴圈

由於我們的線上編譯器有時會截斷行並刪除每行之前和之後的空格,因此我們透過在空格處放置點 (.) 來進行測試。

示例

#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 行的星號和空格。我們可以輕鬆地更改公式,使用這個想法來演示其他圖案。

更新於:2022年12月13日

4K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告