Golang程序 打印直角三角形星形图案

Golang程序 打印直角三角形星形图案

在本教程中,我们将编写一个Go-lang代码来打印一个直角三角形星形图案。我们将描述如何用Go语言打印星形图案。

*
* *
* * *
* * * *

如何打印星形图案

上图是一个直角三角形的星星图案,在这个图案中,你可以看到星星是随着行数的增加而增加的。这个图案是这样的:第一行有1颗星,第二行有2颗星,一直到现在。

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

例子1:打印直角星图案的Golang程序

算法

  • 第1步 – 导入软件包fmt。

  • 第2步 – 启动函数 main()。

  • 第3步 – 声明并初始化整数变量。

  • 第4步–使用第一个for循环来迭代从1到 “行数 “的行。

  • 第5步–使用第二个for循环遍历从1到i的列,打印一个星形图案。

  • 第6步 – 在打印完一行的所有列后,移到下一行,即打印新的一行。

例子

打印直角三角形星形图案的golang程序被编译并执行,代码如下

//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 

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

代码的描述

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

  • 然后启动 main() 函数。

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

  • 让我们把行数定为5,即为了这个例子,让我们打印一个有5行的星形图案。

  • i和j被用来在for循环中迭代。它们将选择各自的行和列来打印*字符。

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

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

  • 使用 fmt.Print() 函数来打印第二个for循环中的*字符。

  • 对于第一行,第二个for循环将不启动,一个*字符将被打印。

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

  • 在这种情况下,直角三角形图案将被打印出来。

例2:使用递归打印右三角星形图案的Golang程序

算法

  • 第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)
}

输出

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

代码的描述

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

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

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

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

  • 然后启动 main() 函数。

  • 初始化数据类型为int的行变量,并将你想打印的星形图案的行数存储在其中。

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

总结

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

为了打印这个星形图案,我们在这里使用了递归,我们递归地调用了两个函数。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程