首頁 >後端開發 >C++ >C++程式列印空心的右三角星形圖案

C++程式列印空心的右三角星形圖案

PHPz
PHPz轉載
2023-08-30 11:01:041378瀏覽

C++程式列印空心的右三角星形圖案

以金字塔、正方形和菱形等不同格式顯示星形圖案非常有用 常見於基礎程式設計和邏輯建構。我們看過幾顆星星 學習程式設計中的循環語句時的數字模式問題。在本文中, 我們將看到如何在 C 中列印空心直角三角形星形圖案。

在此程式中,我們採用行號 n,這將為 n 個數建立一個星形圖案 線。讓我們看一下相同的範例。

右側空心星形圖案

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

在此範例中,有 n 行。每行都有幾顆星星,在開頭有 是空格。除第一行和最後一行外,該行中只有兩顆星,並且 其間有空格。第一行只包含一顆星,最後一行 包含 n 個星星。

每一行有 n – i 個空格,之後印出星星。 對於完整的右對齊三角形,我們連續列印星星。但我們在這裡列印 對於第一個和最後一個位置,否則會列印空格以使其空心。在決賽中 行,它會列印所有星星來製作邊框。

演算法

  • 讀取 n 作為輸入
  • 對於從 1 到 n 的 i,執行
    • 對於範圍從 1 到 n - i 的 j,執行以下操作
      • 輸入空格
    • 結束
    • 對於從 1 到 i 的 k,執行
      • 如果 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,然後顯示右對齊的空心三角星形圖案。每行都有 幾個空格後面有幾顆星星。空格用於對齊(由於限制 對於線上編譯器,我們使用點而不是空格進行對齊)。對於最後一行,它 列印所有星星,但對於其他行,它僅在第一行和最後一行的位置列印星星 柱子。這樣就形成了空心三角形。

以上是C++程式列印空心的右三角星形圖案的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除