5.golang之多重循环控制

1. 基本介绍

1)将一个循环放在另一个循环体内,就形成了嵌套循环。在外边的for称为外层循环,在里面的for循环称为内层循环。【一般建议使用两层,最多不要超过三层】

2)实质上,嵌套循环就是把内层循环当成外层循环的循环体。当内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环。

3)外层循环的次数为m次,内层为n次,则内层循环体实际上需要执行m*n次。

2. 应用案例

1)统计3个班成绩情况,每个班有5名同学,求出各个班的平均分和所有班级的平均分【学生的成绩从键盘输入】

编程时两大绝招

        1)先易后难,即将一个复杂的问题分解成简单的问题

        2)先死后活

package main
import (
	"fmt"
)
// 1)统计3个班成绩情况,每个班有5名同学,求出各个班的平均分和所有班级的平均分【学生的成绩从键盘输入】
func main() {
	var classNum int = 3
	var stuNum int = 5
	var totalSum float64 = 0.0
	for i := 1; i <= classNum; i++ {
		var score float64
		sum := 0.0
		for j := 1; j <= stuNum; j++ {
			fmt.Printf("请输入第%d个班级,第%d个学生的成绩:",i,j)
			fmt.Scanln(&score)
			sum += score
		}
		totalSum += sum
		fmt.Printf("第%d个班级的平均分是:%f \n",i,sum / float64(stuNum))
	}
	fmt.Printf("所有班级的平均分是:%f \n",totalSum / float64(classNum * stuNum))
}

2)统计三个班及格人数,每个班有5个同学

package main
import (
	"fmt"
)
// 1)统计3个班成绩情况,每个班有5名同学,求出各个班的平均分和所有班级的平均分【学生的成绩从键盘输入】
func main() {
	var classNum int = 3
	var stuNum int = 5
	var passSum int = 0
	for i := 1; i <= classNum; i++ {
		var score float64
		for j := 1; j <= stuNum; j++ {
			fmt.Printf("请输入第%d个班级,第%d个学生的成绩:",i,j)
			fmt.Scanln(&score)
			if score >= 60 {
				passSum++
			}
		}
	}
	fmt.Println("三个班级的及格人数为",passSum)
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值