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

开启你的职业生涯

通过完成课程获得认证

开始学习
广告