欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > Go语言基础--嵌套循环(多重循环)

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

2025/2/19 9:05:41 来源:https://blog.csdn.net/qq_59634082/article/details/141353855  浏览:    关键词: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()  

    }  

}

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词