定义一个5行5列的二维数组,从键盘输入值,然后将第1行与第5行数据交换,第2行与第4行数据交换,以此类推,输出交换前和交换后的二维数组

package main

import (
	"fmt"
)
// exchange函数实现行互换
func exchange(arr *[5][3]int) {
	temp := 0
	for i := 0; i < len((*arr))/2; i++ {
		for j := 0; j < len((*arr)[i]); j++ {
			temp = (*arr)[i][j]
			(*arr)[i][j] = (*arr)[len((*arr))-i-1][j]
			(*arr)[len((*arr))-i-1][j] = temp
		}
	}
}

/*定义一个5行5列的二维数组,从键盘输入值,然后将第1行与第5行数据交换,
第2行与第4行数据交换,以此类推,输出交换前和交换后的二维数组*/
func main() {
	var arr = [5][3]int{}
	for i := 0; i < len(arr); i++ {
		for j := 0; j < len(arr[i]); j++ {
			fmt.Printf("请输入第%d行第%d列的数:", i+1, j+1)
			fmt.Scanln(&arr[i][j])
		}
	}
	fmt.Println("原数组:")
	for i := 0; i < len(arr); i++ {
		for j := 0; j < len(arr[i]); j++ {
			fmt.Print(arr[i][j], "\t")
		}
		fmt.Print("\n")
	}

	exchange(&arr)
	fmt.Println("数据交换后的数组:")
	for i := 0; i < len(arr); i++ {
		for j := 0; j < len(arr[i]); j++ {
			fmt.Print(arr[i][j], "\t")
		}
		fmt.Print("\n")
	}
}

输出结果: