Go語言列印左三角形星號圖案程式


本教程將編寫一個 Go 語言程式碼來列印左三角形星號圖案。我們將演示如何在 Go 語言中列印星號圖案。

   *
  * *
 * * *
* * * *

如何列印星號圖案?

上面顯示了一個左三角形星號圖案,在這個圖案中,您可以看到隨著行數的增加,星號也在增加。圖案是這樣的:第一行1個星號,第二行2個星號,依此類推。

這裡我們將使用兩個 for 迴圈,第一個用於列印空格,第二個 for 迴圈用於在相應位置列印“*”字元。

For loop:
for [condition | ( init; condition; increment) | Range] { 
   statement(s); 
}

示例 1:使用 for 迴圈列印左角星號圖案的 Go 語言程式

演算法

  • 步驟 1 − 匯入 fmt 包。

  • 步驟 2 − 開始函式 main()

  • 步驟 3 − 宣告並初始化整型變數(row = 要列印的行數)。

  • 步驟 4 − 使用第一個內迴圈迭代從 1 到“行數”的行。

  • 步驟 5 − 使用第二個內迴圈迭代從 1 到 i 的列,以列印星號圖案。

  • 步驟 5 − 外迴圈用於計算行號。

  • 步驟 5 − 列印完一行所有列後,換行。

示例

//GOLANG PROGRAM TO PRINT LEFT ANGLED STAR PATTERN package main // fmt package provides the function to print anything import "fmt" // this is the main function func main() { //declaring variables with integer datatype var i, j, k, row int // assigning the row variable with the value of number of rows row = 5 // Print the pattern fmt.Println("\nLeft Angled Star Pattern") // displaying the pattern using for loops for i = 0; i <= row; i++ { //printing the spaces for j = 0; j < row-i; j++ { fmt.Print(" ") } //printing the stars for k = 0; k < i; k++ { fmt.Print("*") } // printing new line fmt.Println() } }

輸出

Left Angled Star Pattern 

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

程式碼描述

  • 在上面的程式碼中,我們首先匯入主包和 fmt 包,fmt 包允許我們在螢幕上列印任何內容。

  • 然後開始main()函式。

  • 宣告並初始化 i、j、k 和 row 變數,資料型別為 int。

  • 讓我們將行數賦值為 5,即在這個示例中,讓我們列印一個包含 5 行的星號圖案。

  • i、j 和 k 用於迭代 for 迴圈。它們將選擇列印“*”字元的相應行和列。

  • 要列印這種圖案,我們需要在一個 for 迴圈中使用另一個 for 迴圈。第一個 for 迴圈用於選擇行,它從 1 迭代到 row 變數包含的行數。

  • 第二個 for 迴圈從 j = 0 開始到當前行 - 1 的值。

  • 第三個 for 迴圈用於列印“*”字元。

  • 使用fmt.Print()函式在第三個 for 迴圈內列印“*”字元。

  • 然後換行。

  • 透過這種方式,左三角形圖案將被打印出來。

示例 2:使用遞迴列印左角星號圖案的 Go 語言程式

演算法

  • 步驟 1 − 匯入 fmt 包

  • 步驟 2 − 定義 printSpace() 函式。

  • 步驟 3 − 定義 Star() 函式。

  • 步驟 4 − 定義 pattern() 函式。

  • 步驟 5 − 開始 main() 函式。

  • 步驟 6 − 宣告並初始化整型變數。

  • 步驟 7 − 呼叫 pattern() 函式。

示例

// GOLANG PROGRAM TO PRINT LEFT ANGLED STAR PATTERN USING RECURSION package main // fmt package provides the function to print anything import "fmt" // defining printSpace() function func printSpace(number int) { // defining base condition if number == 0 { return } // printing the spaces fmt.Printf(" ") // calling the printSpace() function recusrsively printSpace(number - 1) } func star(number int) { // defining base condition if number == 0 { return } // printing the * character fmt.Printf("*") // calling the star() function recursively star(number - 1) } func pattern(number, n int) { // defining base case if number == 0 { return } // calling the printSpace() function to print spaces printSpace(number - 1) // calling the star function to print * patterns star((n - number) + 1) // printing new line fmt.Println() // calling the pattern() function recursively pattern(number-1, n) } // calling the main function func main() { // declaring variable row var row int = 7 // calling the star() function pattern(row, row) }

輸出

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

程式碼描述

  • 在上面的程式碼中,我們首先匯入主包和 fmt 包,fmt 包允許我們在螢幕上列印任何內容。

  • 建立三個函式,命名為printSpace()star()pattern()

  • printSpace()函式將遞迴地列印選定行數中的空格。

  • Star()函式將遞迴地在相應行中列印“*”字元。

  • 第三個函式 pattern()將透過逐一呼叫每個函式來啟動,並將列印新行。

  • 然後開始main()函式。

  • 初始化資料型別為 int 的 row 變數,並將要列印的星號圖案的行數儲存到其中。

  • 呼叫pattern()函式,並將 row 變數作為引數傳遞給它。

結論

我們已經成功編譯並執行了一個 Go 語言程式來列印左角星號圖案。

為了列印此星號圖案,我們使用了遞迴,其中我們遞迴地呼叫三個函式。

更新於:2022年11月15日

瀏覽量:389

開啟你的職業生涯

透過完成課程獲得認證

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