Go语言程序计算矩阵元素之和


什么是矩阵?

矩阵是由按行和列排列的数字集合组成的二维数组。我们将使用三个例子来查找元素的总和,并使用Golang程序比较矩阵的每个元素。

算法

  • 步骤1 − 导入fmt包。

  • 步骤2 − 现在我们需要启动main()函数。

  • 步骤3 − 然后我们创建一个名为matrixA的矩阵。

  • 步骤4 − 使用fmt.Println()函数在屏幕上打印矩阵。

  • 步骤5 − 初始化一个名为sum的新变量,类型为int,用于保存结果总和。

  • 步骤6 − 要查找元素的总和,请使用for循环迭代矩阵。

  • 步骤7 − 使用第一个for循环获取矩阵的行,而第二个for循环则获取矩阵的列。

  • 步骤8 − 循环遍历矩阵元素后,通过向其中添加值来更新sum变量。

  • 步骤9 − 在屏幕上打印矩阵的总和。

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

示例1

我们将使用for循环迭代矩阵,找到其元素的总和并在屏幕上打印出来。

Open Compiler
package main import "fmt" func main() { matrix := [3][3]int{ {0, 1, 2}, {4, 5, 6}, {8, 9, 10}, } fmt.Println("The given matrix is:") for i := 0; i < 3; i++ { for j := 0; j < 3; j++ { fmt.Print(matrix[i][j], "\t") } fmt.Println() } fmt.Println() var sum int = 0 for i := 0; i < len(matrix); i++ { for j := 0; j < len(matrix[i]); j++ { sum += matrix[i][j] } } fmt.Println("Sum of matrix elements:", sum) }

输出

The given matrix is:
0	1	2	
4	5	6	
8	9	10	

Sum of matrix elements: 45

示例2

在这个例子中,我们将使用Go编程中的range函数来查找矩阵元素的总和。

Open Compiler
package main import "fmt" func main() { matrix := [3][3]int{ {20, 1, 2}, {4, 5, 6}, {8, 9, 10}, } fmt.Println("The given matrix is:") for i := 0; i < 3; i++ { for j := 0; j < 3; j++ { fmt.Print(matrix[i][j], "\t") } fmt.Println() } fmt.Println() var sum int = 0 for _, row := range matrix { for _, element := range row { sum += element } } fmt.Println("Sum of matrix elements:", sum) }

输出

The given matrix is:
20	1	2	
4	5	6	
8	9	10	

Sum of matrix elements: 65

示例3

在这个例子中,我们将使用递归方法来使用go编程查找矩阵元素的总和。

Open Compiler
package main import "fmt" // creating a funciton to find sum through recursion func sumMatrix(matrix [3][3]int, row int, col int) int { if row == len(matrix) { return 0 } if col == len(matrix[row]) { return sumMatrix(matrix, row+1, 0) } return matrix[row][col] + sumMatrix(matrix, row, col+1) } func main() { matrix := [3][3]int{ {20, 1, 2}, {4, 50, 6}, {8, 9, 10}, } fmt.Println("The given matrix is:") for i := 0; i < 3; i++ { for j := 0; j < 3; j++ { fmt.Print(matrix[i][j], "\t") } fmt.Println() } fmt.Println() result := sumMatrix(matrix, 0, 0) fmt.Println("Sum of matrix elements:", result) }

输出

The given matrix is:
20	1	2	
4	50	6	
8	9	10	

Sum of matrix elements: 110

结论

我们已经成功地编译并执行了一个Go语言程序来对矩阵进行求和,并附带了示例。在前两种方法中,我们分别使用了for循环和range函数来迭代矩阵,而在最后一个例子中,我们使用了递归方法来计算总和。请注意,第三种方法在功能上更高效,执行时间更短。

更新于:2023年2月16日

135 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告