1. 程式人生 > 其它 >golang二維陣列遍歷及簡單應用

golang二維陣列遍歷及簡單應用

package main

import "fmt"

func main() {
	//for遍歷
	arr := [3][3]int{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}
	for i := 0; i < len(arr); i++ {
		for j := 0; j < len(arr[i]); j++ {
			fmt.Println(arr[i][j])
		}
		fmt.Println()
	}

	//for range遍歷
	for index, value := range arr {
		for index1, value1 := range value {
			fmt.Printf("arr[%v][%v] = %v \t", index, index1, value1)
		}
		fmt.Println()
	}
	//定義二維陣列,用於儲存三個班,每個班五名同學成績,並求出每個班平均分、以及所有班級平均分

	var class [3][5]float64

	for i := 0; i < len(class); i++ {
		for j := 0; j < len(class[i]); j++ {
			fmt.Printf("請輸入第%d班的第%d個學生的成績\n", i+1, j+1)
			fmt.Scanln(&class[i][j])
		}
	}
	totalsum := 0.0
	for i := 0; i < len(class); i++ {
		sum := 0.0
		for j := 0; j < len(class[i]); j++ {

			sum = class[i][j] + sum
		}
		totalsum = totalsum + sum
		fmt.Printf("第%d班級的總分為%v, 平均分為%v\n", i+1, sum, sum/float64(len(class[i])))
	}
	fmt.Printf("所有班級的總分為%v, 平均分為%v\n", totalsum, totalsum/3)
}