Go语言程序打印直角三角形星号图案


在本教程中,我们将编写一个 Go 语言代码来打印直角三角形星号图案。我们将演示如何在 Go 语言中打印星号图案。

*
* *
* * *
* * * *

如何打印星号图案?

上面显示了一个直角三角形星号图案,在这个图案中,您可以看到随着行数的增加,星号也在增加。图案是这样的:第一行 1 个星号,第二行 2 个星号,依此类推。

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

示例 1:Go 语言程序打印直角星号图案

算法

  • 步骤 1 - 导入 fmt 包。

  • 步骤 2 - 开始函数 main()

  • 步骤 3 - 声明并初始化整型变量。

  • 步骤 4 - 使用第一个 for 循环遍历从 1 到“行数”的行。

  • 步骤 5 - 使用第二个 for 循环遍历从 1 到 i 的列,以打印星号图案。

  • 步骤 5 - 打印完一行中的所有列后,换行,即打印新行。

示例

以下代码编译并执行了打印直角三角形星号图案的 Go 语言程序:

//GOLANG PROGRAM TO PRINT RIGHT ANGLED STAR PATTERN package main // fmt package provides the function to print anything import "fmt" // calling the main function func main() { // declaring variables with integer datatype to store respective values // i and j are used to iterate through for loop // row variable will contain the total number of rows that a star pattern should contain. var i, j, row int // assigning a value of 5 to the number of rows that the pattern should print. // assuming that value to be 5 row = 5 // Printing the star pattern fmt.Println("\nRight Angled Star Pattern") // for loop to print the number of rows rows for i = 1; i <= row; i++ { // for loop to print the number of columns for j = 1; j <= i; j++ { // printing star(*) symbol using fmt.Print() function fmt.Print("* ") } // printing a new line using fmt.Println() function fmt.Println() } }

输出

Right Angled Star Pattern 

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

代码描述

  • 在上面的代码中,我们首先导入主包和 fmt 包,fmt 包允许我们在屏幕上打印任何内容。

  • 然后开始 main() 函数。

  • 声明并初始化数据类型为 int 的 i、j 和 row 变量。

  • 让我们将行数赋值为 5,即为了本示例的目的,让我们打印一个包含 5 行的星号图案。

  • i 和 j 用于遍历 for 循环。它们将选择用于打印“*”字符的相应行和列。

  • 要打印这种图案,我们需要在一个 for 循环中使用另一个 for 循环。第一个 for 循环用于选择行,它从 1 迭代到 row 变量包含的行数。

  • 第二个 for 循环从 j = 1 到当前行的值开始。当前行的值是 i 变量的值。

  • 使用 fmt.Print() 函数在第二个 for 循环内打印“*”字符。

  • 对于第一行,第二个 for 循环不会开始,并且将打印一个“*”字符。

  • 对于第二行,i = 2,在这种情况下,第二个 for 循环将从 j = 1 迭代到 j = 2,这样在第二行将打印两个“*”字符。

  • 以此类推,直角三角形图案将被打印出来。

示例 2:使用递归打印直角三角形星号图案的 Go 语言程序

算法

  • 步骤 1 - 导入 fmt 包

  • 步骤 2 - 定义 printSpace() 函数。

  • 步骤 3 - 定义 printRow() 函数以递归打印星号图案的行。

  • 步骤 4 - 定义 Star() 函数以递归打印新行。

  • 步骤 5 - 声明并初始化整型变量。

  • 步骤 6 - 调用 printRow() 函数。

示例

//GOLANG PROGRAM TO PRINT RIGHT ANGLED STAR PATTERN using recursion package main // fmt package provides the function to print anything import "fmt" // defining printRow() function func printRow(number int) { // selecting rows if number > 0 { // calling the printRow() function recusrsively printRow(number - 1) // printing the star character fmt.Printf("*") } } func star(number int) { if number > 0 { // calling the star function recursively star(number - 1) } // calling the printRow() function printRow(number) // printing new line fmt.Println() } // calling the main function func main() { // declaring variable row var row int = 7 // calling the star() function star(row) }

输出

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

代码描述

  • 在上面的代码中,我们首先导入主包和 fmt 包,fmt 包允许我们在屏幕上打印任何内容。

  • 创建两个名为 printRow()star() 的函数。

  • printRow() 函数将在选定的行数中打印星号字符。

  • Star() 函数将打印新行,并将调用 printRow() 函数以在选定的行中打印“*”。

  • 然后开始 main() 函数。

  • 初始化数据类型为 int 的 row 变量,并将要打印的星号图案的行数存储到其中。

  • 调用 star() 函数并将 row 变量作为参数传递给它。

结论

我们已成功编译并执行了一个 Go 语言程序来打印直角星号图案。

为了打印此星号图案,我们在这里使用了递归,其中我们递归调用了两个函数。

更新于:2022-11-15

781 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.