Go语言程序打印螺旋数字图案


在本教程中,我们将学习如何使用Go编程语言打印螺旋数字图案。

螺旋数字图案用于在屏幕上以螺旋形打印数字。在这个程序中,我们将创建一个大小为n的数组,将数字存储在其中,并使用该数组以螺旋格式创建矩阵。

语法

for initialization; condition; update {
   statement(s)
}
func make([]T, len, cap) []T

make() 函数用于为某些变量分配堆内存。例如,我们可以使用 make() 函数为数组分配内存。此函数接受三个参数:数组的数据类型、数组的长度和容量。此函数返回最终数组,我们可以将其存储在变量中。

示例:使用for循环打印螺旋数字图案的Go语言程序代码

算法

  • 步骤1 - 导入fmt包

  • 步骤2 - 创建一个名为spiral()的函数,其中包含逻辑。

  • 步骤3 - 初始化变量left、right、top、bottom并为其赋值。

  • 步骤4 - 使用make()函数追加一个整型数组变量,并将结果数组存储在另一个变量中。确定数组的大小并将其作为参数传递给数组变量。

  • 步骤5 - 对所有变量使用for循环,以螺旋形排列它们。

  • 步骤6 - 排列螺旋中的中心元素。

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

  • 步骤8 - 初始化名为num和length的变量,并分配一个此类长度的数组。

  • 步骤9 - 在循环内调用spiral()函数以打印图案。

  • 步骤10 - 退出程序。

示例

// GOLANG PROGRAM TO PRINT SPIRAL PATTERN OF NUMBERS USING FOR LOOPS. package main // fmt package have the required packages import ( "fmt" ) // CREATE A SPIRAL FUNCTION WHICH RETURNS THE REQUIRED ARRAY func spiral(n int) []int { // INITIALIZE THE REQUIRED VARIABLES left, top, right, bottom := 0, 0, n-1, n-1 // Size of the matrix array_size := n * n spiral_array := make([]int, array_size) i := 0 // USE FOR LOOP ON THE VARIABLES FOR PRINTING THE REQUIRED PATTERN for left < right { for c := left; c <= right; c++ { spiral_array[top*n+c] = i i++ } top++ for r := top; r <= bottom; r++ { spiral_array[r*n+right] = i i++ } right-- if top == bottom { break } for c := right; c >= left; c-- { spiral_array[bottom*n+c] = i i++ } bottom-- for r := bottom; r >= top; r-- { spiral_array[r*n+left] = i i++ } left++ } // center (last) element spiral_array[top*n+left] = i //RETURN THE ARRAY return spiral_array } // start the function main() // This function is the entry point of the executable program func main() { // THE VALUE TO BE PASSED IN THE spiral() Function num := 5 len := 2 fmt.Println("IT IS A SPIRAL PATTERN OF LENGTH ", num) //todraw the pattern use the for loop on spiral function for i, draw := range spiral(num) { fmt.Printf("%*d ", len, draw) if i%num == num-1 { fmt.Println("") } } }

输出

IT IS A SPIRAL PATTERN OF LENGTH 5
0 1 2 3 4
15 16 17 18 5
14 23 24 19 6
13 22 21 20 7
12 11 10 9 8 

代码描述

  • 在Go语言程序中声明包main

  • 我们导入了包含fmt包文件的fmt包。fmt包允许我们在屏幕上打印任何内容。

  • 现在我们创建了spiral()函数,并初始化了变量,还使用数组元素初始化了要以螺旋格式打印的矩阵大小。

  • 我们创建了一个数组,我们将使用for循环以螺旋格式打印其元素。

  • 使用for循环以螺旋格式打印数字。

  • spiral()函数返回一个数组。

  • 启动main()函数。从循环调用spiral函数以打印存储在数组中的元素。

  • 最后,使用fmt.Println()函数以螺旋数字图案的形式打印结果。

结论

我们已成功编译并执行了一个Go语言程序,用于在屏幕上打印螺旋数字图案。

更新于:2022年11月22日

浏览量:334

开启你的职业生涯

完成课程获得认证

开始学习
广告