C++程式列印空心直角三角形星號圖案


以不同的格式(例如金字塔、正方形和菱形)顯示星號圖案在基礎程式設計和邏輯構建中非常常見。在學習程式設計中的迴圈語句時,我們已經看到了幾個星號和數字圖案問題。在本文中,我們將瞭解如何在C++中列印空心直角三角形星號圖案。

在這個程式中,我們取行數n,這將建立n行星號圖案。讓我們看一個相同的例子。

空心直角星號圖案

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

在這個例子中,共有n行。每一行都有幾個星號,開頭有一些空格。除第一行和最後一行外,每一行只有兩個星號,中間有一些空格。第一行只包含一個星號,最後一行包含n個星號。

對於每一行,都有n – i個空格,之後列印星號。對於完整的右對齊三角形,我們連續列印星號。但這裡我們只在第一列和最後一列列印星號,否則列印空格以使其為空心。最後一行列印所有星號以構成邊界。

演算法

  • 讀取n作為輸入
  • 對於i從1到n,執行
    • 對於j從1到n - i,執行
      • 輸出空格
    • 結束迴圈
    • 對於k從1到i,執行
      • 如果i不等於n,則
        • 如果k = 1或k = i,則
          • 顯示'*'
        • 否則
          • 顯示空格
        • 結束判斷
      • 否則
        • 顯示'*'
      • 結束判斷
    • 結束迴圈
    • 將游標移到下一行
  • 結束迴圈

由於線上編譯器的一些限制,我們在開頭添加了點而不是空格。否則,它有時會截斷該行,輸出結果將不正確。

示例

#include <iostream>
using namespace std;
void solve( int n ){
   for ( int i = 1; i <= n; i++ ) {
      for ( int j = 1; j <= n - i; j++ ) {
         cout << ".";
      }
      for ( int k = 1; k <= i; k++ ) {
         if ( i != n ) {
            if ( k == 1 || k == i ) {
               cout << "*";
            } else {
               cout << " ";
            }
         } else {
            cout << "*";
         }
      }
      cout << "\n";
   }
}
int main(){
   int n = 7;
   cout << "Hollow Star Pattern for " << n << " lines." << endl;
   solve( n );
}

輸出

Hollow Star Pattern for 7 lines.
......*
.....**
....* *
...*  *
..*   *
.*    *
*******

輸出 (n = 18)

Hollow Star Pattern for 18 lines.
.................*
................**
...............* *
..............*  *
.............*   *
............*    *
...........*     *
..........*      *
.........*       *
........*        *
.......*         *
......*          *
.....*           *
....*            *
...*             *
..*              *
.*               *
******************

結論

星號圖案易於實現,有助於學習程式設計中的迴圈概念。在一些文章中,我們已經看到列印金字塔、方框和菱形等星號圖案的技術。在本文中,我們瞭解瞭如何在C++中顯示空心金字塔。它獲取行數n,然後顯示右對齊的空心三角形星號圖案。每一行在一些空格之後都有幾個星號。空格用於對齊(由於線上編譯器的限制,我們使用點而不是空格進行對齊)。對於最後一行,它列印所有星號,但對於其他行,它只在第一列和最後一列的位置列印星號。因此形成了空心三角形。

更新於:2022年12月14日

882 次瀏覽

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.