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 語言程式來列印左角星號圖案。
為了列印此星號圖案,我們使用了遞迴,其中我們遞迴地呼叫三個函式。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP