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 语言程序来打印左角星号图案。
为了打印此星号图案,我们使用了递归,其中我们递归地调用三个函数。