用go写出5.定义一个四行三列的数组,逐个键盘输入,输出交换前的数组元素值,将第一行和第四行数据交换,第二第三交换,输出交换后的数组
时间: 2024-09-29 19:02:50 浏览: 10
首先,我们可以创建一个四行三列的二维切片(slice of slice),然后逐个接收用户输入的值。接着,我们分别交换第一行和第四行,以及第二、三行的数据。最后,我们会输出交换前和交换后的数组。
```go
package main
import "fmt"
func main() {
// 定义一个四行三列的空数组
matrix := [][3]int{{}, {}, {}, {}}
// 接收用户输入并填充矩阵
fmt.Println("请输入数据,按顺序输入四行每行三个元素(例如:1 2 3):")
for i := range matrix {
for j := range matrix[i] {
var input string
fmt.Printf("行%d 列%d 的值: ", i+1, j+1)
fmt.Scanln(&input) // 从控制台读取输入
num, err := strconv.Atoi(input)
if err != nil {
fmt.Println("无效输入,请输入数字。")
continue
}
matrix[i][j] = num
}
}
// 输出交换前的数组
fmt.Println("\n交换前的数组:")
displayMatrix(matrix)
// 交换行
matrix[0], matrix[3] = matrix[3], matrix[0] // 第一行和第四行交换
matrix[1], matrix[2] = matrix[2], matrix[1] // 第二行和第三行交换
// 输出交换后的数组
fmt.Println("\n交换后的数组:")
displayMatrix(matrix)
}
// 函数用于展示矩阵
func displayMatrix(m [][]int) {
for _, row := range m {
fmt.Println(row)
}
}
// 注意导入"strconv"库以处理字符串转数字
```
当你运行这个程序,它会提示你输入数组元素,然后显示交换前和交换后的数组。记得输入的都是数字哦。