首页 > 其他分享 >go 二维数组

go 二维数组

时间:2023-02-15 15:47:47浏览次数:37  
标签:... arr int fmt ++ var 二维 数组 go

1.定义方式有两种

1)先声明/定义,再赋值

var 数组名[大小][大小]类型

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++ {
            fmt.Print(arr[i][j], " ")
        }
        fmt.Println()
    }
}

2)直接初始化

var 数组名[大小][大小]类型 = [大小][大小]类型{{初值...},{初值...}}

var 数组名[大小][大小]类型 = [...][大小]类型{{初值...},{初值...}}

var 数组名 = [大小][大小]类型{{初值...},{初值...}}

var 数组名 = [...][大小]类型{{初值...},{初值...}}

数组名 := [...][大小]类型{{初值...},{初值...}}

func main() {
    var arr1 [2][3]int = [2][3]int{{1, 2, 3}, {4, 5, 6}}
    fmt.Println(arr1)
}

2.二维数组遍历:for遍历和for-range遍历

func main() {
    var arr1 [2][3]int = [2][3]int{{1, 2, 3}, {4, 5, 6}}
    //for循环遍历
    for i := 0; i < len(arr1); i++ {
        for j := 0; j < len(arr1[i]); j++ {
            fmt.Printf("%v\t", arr1[i][j])
        }
        fmt.Println()
    }
    //for-range来遍历二维数组
    for _, v := range arr1 {
        for _, v2 := range v {
            fmt.Printf("%v\t", v2)
        }
        fmt.Println()
    }
}

3.输入3个班每个班5个人的成绩,输出每个班的平均分和总平均分

func main() {
    var arr [3][5]float64
    for i := 0; i < len(arr); i++ {
        for j := 0; j < len(arr[i]); j++ {
            fmt.Printf("请输入%v班第%v个学生的成绩:\n", i+1, j+1)
            fmt.Scanln(&arr[i][j])
        }
    }
    //求每个年级的平均分及总平均分
    var arrsum [3]float64
    var arravg [3]float64
    var n1 int
    for i := 0; i < len(arr); i++ {
        for j := 0; j < len(arr[i]); j++ {
            arrsum[i] += arr[i][j]
            if arr[i][j] != 0 {
                n1++
            }
        }
        arravg[i] = arrsum[i] / float64(len(arr[i]))
    }
    var sum float64
    for _, v := range arrsum {
        sum += v
    }
    avg := sum / 15
    fmt.Printf("一共输入了%v学生的分数", n1)
    fmt.Println("每个班的平均分是:", arravg)
    fmt.Println("所有班级的平均分是:", avg)
}

4.随机生成一个[0,100)的数组,求其倒叙数组,平均值,最大值最大值下标,最小值,最小值下标,里面是否有55。

package main

import (
    "fmt"
    "math/rand"
    "time"
)

func ran() {
    var num [10]int
    for i := 0; i < 10; i++ {
        rand.Seed(time.Now().UnixNano())
        num[i] = rand.Intn(100)
    }
    fmt.Println("数组num为:", num)
    var numf [10]int
    var sum int
    var max int = num[len(num)-1]
    var maxindex int
    var min int = num[len(num)-1]
    var minindex int
    var b1 bool = false
    for i := 0; i < 10; i++ {
        numf[i] = num[10-1-i]
        sum += numf[i]
        if max < numf[i] {
            max = numf[i]
            maxindex = i
        }
        if min > numf[i] {
            min = numf[i]
            minindex = i
        }
        if numf[i] == 55 {
            b1 = true
        }
}
fmt.Printf("倒叙数组为:%v\n 平均值为:%v\n 最大值为:%v\n 最大值下标为:%v\n 最小值为:%v\n 最小值下标为:%v\n 里面是否有55:%v\n ",
numf, sum/10, max, maxindex, min, minindex, b1)

}

 

标签:...,arr,int,fmt,++,var,二维,数组,go
From: https://www.cnblogs.com/xiaoxiaomuyuyu/p/17123265.html

相关文章

  • django解决跨域请求
    安装django-cors-headerspython-mpipinstalldjango-cors-headers在#setting.py下添加如下代码INSTALLED_APPS=[...,"corsheaders",...,]MIDDL......
  • Go实现Web 应用程序
    Go内置有net/http包使用这个http包可以实现Web服务。 通过下面简单的两个函数,就可以搭建一个Web服务,同时该Web服务具有高并发的特性。http.HandleFunc("/favicon......
  • Python+Django(3):创建主页
    打开项目主文件夹learning_log中的文件urls.py:fromdjango.contribimportadminfromdjango.urlsimportpath,re_pathasurl,includeurlpatterns=[pat......
  • go追加文件
    RunE:func(cmd*cobra.Command,args[]string)error{objects,err:=apply.NewClusterFromArgs(args,genArgs)iferr!=nil{returnerr}data,e......
  • MongoDB连接字符串的URI格式
    两种的连接字符串格式1.标准的连接格式mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]](1)单机连接格式mongodb://user......
  • Python+Django(2):创建应用程序
    新打开一个终端窗口,切换到manage.py所在的目录激活虚拟环境:ll_env\Scripts\activate命令startappappname让Django建立创建应用程序所需的基础设施:pythonmanage.pyst......
  • php中foreach循环遍历二维数组
    最近在用tp3.2框架,在查询的时候用到了select(),这条语句返回的是二维数组,所以在对返回的数据做处理时,遇到了些麻烦,百度了下foreach,终于用foreach解决了数据的筛选问题(因为......
  • Go 工程化 - JSON 使用技巧
    概述在 Go快速入门指南-JSON 讲解了 JSON 的常用方法,但是除此之外,JSON 还有一些鲜为人知的使用技巧,可以简洁地组合和忽略结构体字段,避免了重新定义结构体和内嵌......
  • leetcode - 1250 检查好数组
    检查好数组题目给你一个正整数数组nums,你需要从中任选一些子集,然后将子集中每一个数乘以一个任意整数,并求出他们的和。假如该和结果为1,那么原数组就是一个「好数组」......
  • java 文件File与byte[]数组相互转换的两种方式
     1.文件转byte[]方式一:文件输入流Filefile=newFile("C:\\Users\\Marydon\\Desktop\\个人信用报告.pdf");try{FileInputStreamfis=newFileInputStream(file);......