golang 二维数组

时间:2025-03-03 11:57:19
package main

import(
	"fmt"
)

func main(){
	/*
      0 0 0 0 0 0
	  0 0 1 0 0 0
	  0 2 0 3 0 0
	  0 0 0 0 0 0
	*/
    var arr [4][6]int
	arr[1][2] = 1
	arr[2][1] = 2
	arr[2][3] = 3
	for i := 0; i < 4; i++{
		for j := 0; j < 6; j++{
			(arr[i][j]," ")
		} 
		()
	}
	/*
	结果
	0 0 0 0 0 0 
	0 0 1 0 0 0 
	0 2 0 3 0 0 
	0 0 0 0 0 0
	*/

	//二维数组 四种声明方式
	//1、
	var arr1 [2][3]int = [2][3]int{{1,2,3},{4,5,6}}
	(arr1)//[[1 2 3] [4 5 6]]
	
	//2、
	var arr2 [2][3]int = [...][3]int{{1,2,3},{4,5,6}}
	(arr2)//[[1 2 3] [4 5 6]]

	//3、
	var arr3 = [2][3]int{{1,2,3},{4,5,6}}
	(arr3)//[[1 2 3] [4 5 6]]

	//4、
	var arr4 = [...][3]int{{1,2,3},{4,5,6}}
	(arr4)//[[1 2 3] [4 5 6]]





	//二维数组的便利
	var arr5 = [...][3]int{{1,2,3},{4,5,6}}
	//双层 for 循环遍历
     for i := 0; i < len(arr5); i++{
		 for j := 0; j < len(arr5[i]); j++{
			 ("%v\t",arr5[i][j])
		 }
		 ()
	 }
	 /*
	 结果
	 1       2       3
	 4       5       6
	 */

	//for - range()循环遍历
	for index,value := range arr5{
		for index1,value1 := range value{
			("arr5[%v][%v]=%v\t",index,index1,value1)
		}
		()
	}
	/*
	结果
	arr5[0][0]=1    arr5[0][1]=2    arr5[0][2]=3
	arr5[1][0]=4    arr5[1][1]=5    arr5[1][2]=6
	*/


	//二维数组案例:
	//定义二维数组,用于保存三个班,每个班五名同学成绩,
	//并求出每个班级平均分、以及所有班级平均分

	var arrTotal [3][5]int
	var sumTotal float64 = 0.0
	for i := 0; i < len(arrTotal); i++{
		var sumTotal1 float64 = 0.0
		for j := 0; j < len(arrTotal[i]); j++{
			("请输入:第 %v 班 的 第 %v 个 学生的成绩",i+1,j+1)
			(&arrTotal[i][j])
			sumTotal1 += float64(arrTotal[i][j])
		}
		sumTotal += sumTotal1
		("第%d班级的总分%v,平均分%v\n",i+1,sumTotal1,sumTotal1 / float64(len(arrTotal[i])))
	}
	("所有班级的总分%v,所有班级平均分%v\n",sumTotal,sumTotal/15)
    /*
	请输入:第 1 班 的 第 1 个 学生的成绩1      
	请输入:第 1 班 的 第 2 个 学生的成绩1
	请输入:第 1 班 的 第 3 个 学生的成绩1
	请输入:第 1 班 的 第 4 个 学生的成绩1
	请输入:第 1 班 的 第 5 个 学生的成绩1
	第1班级的总分5,平均分1
	请输入:第 2 班 的 第 1 个 学生的成绩2
	请输入:第 2 班 的 第 2 个 学生的成绩2
	请输入:第 2 班 的 第 3 个 学生的成绩2
	请输入:第 2 班 的 第 4 个 学生的成绩2
	请输入:第 2 班 的 第 5 个 学生的成绩2
	第2班级的总分10,平均分2
	请输入:第 3 班 的 第 1 个 学生的成绩3
	请输入:第 3 班 的 第 2 个 学生的成绩3
	请输入:第 3 班 的 第 3 个 学生的成绩3
	请输入:第 3 班 的 第 4 个 学生的成绩3
	请输入:第 3 班 的 第 5 个 学生的成绩3
	第3班级的总分15,平均分3
	所有班级的总分30,所有班级平均分2	
	*/
	
}