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