Go语言基础--嵌套循环(多重循环)

        嵌套循环可以让你在一个循环内部再嵌套另一个或多个循环。这种结构在处理多维数据(如二维数组、矩阵)或需要遍历多个集合时非常有用。 

for 初始化语句1; 条件判断1; 更新语句1 {  

    // 外层循环体  

    for 初始化语句2; 条件判断2; 更新语句2 {  

        // 内层循环体  

        // 执行一些操作  

    }  

    // 内层循环结束后执行的代码(可选)  

}  

// 外层循环结束后执行的代码(可选)

 案例

        统计三个公司的安全成绩情况,每个公司有4名员工,算出每个公司的平均成绩,以及每个公司的及格人数,80分以上为及格,代码如下: 用了二维数组存放信息

package main

import (

    "bufio"

    "fmt"

    "os"

    "strconv"

    "strings"

)

func main() {

    const companies = 3

    const employ = 4

    scores := make([][]int, companies)

    for i := range scores {

        scores[i] = make([]int, employ)

    }

    reader := bufio.NewReader(os.Stdin)

    for company := 0; company < companies; company++ {

        fmt.Printf("请输入第%d个公司的员工成绩(共 %d 名员工):\n", company+1, employ)

        for employee := 0; employee < employ; employee++ {

            fmt.Printf("员工 %d 的成绩: ", employee+1)

            input, _ := reader.ReadString('\n')

            trimmedInput := strings.TrimSpace(input)

            score, err := strconv.Atoi(trimmedInput)

            if err != nil {

                fmt.Printf("输入错误,无法将字符串 '%s' 转换为整数。错误:%v\n", input[:len(input)-1], err)

                return

            }

            scores[company][employee] = score

        }

    }

    for company := 0; company < companies; company++ {

        totalScore := 0

        passingCount := 0

        for _, score := range scores[company] {

            totalScore += score

            if score >= 80 {

                passingCount++

            }

        }

        avgScore := float64(totalScore) / float64(employ)

        fmt.Printf("第 %d 个公司的平均成绩是:%.2f,及格人数是:%d\n", company+1, avgScore, passingCount)

    }

}

99乘法表

package main  

import (  

    "fmt"  

)  

func main() {  

    var num int = 9  

    for i := 1; i <= num; i++ {  

        for j := 1; j <= i; j++ {  

            fmt.Printf("%v * %v = %v \t", j, i, j*i)  

        }  

        fmt.Println()  

    }  

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值