IT评测·应用市场-qidao123.com技术社区

标题: Go语言基础--嵌套循环(多重循环) [打印本页]

作者: 郭卫东    时间: 2024-8-23 05:15
标题: 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 = 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()  
      }  
  }
   

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4