开发者学堂课程【Go语言核心编程 - 基础语法、数组、切片、Map:多重循环应用案例】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/625/detail/9579
多重循环应用案例(二)
三、应用实例2
1、案例:
统计三个班级及格人数,每个班有5名同学
2、分析思路:
既然要统计3个班的及格人数,就要定义一个变量去保存及格人数,所以声明一个变量 passCount 用于保存及格人数,再使用if语句去判断是否及格。
代码如下:
var classNum int =2
var stuNum int =5
var totalSum float64 = 0.0
var passCount int = 0
//定义变量 passCount,类型为 int,初始化值为0。
for j :=1;j<=classNum; j++{
//for循环中进行统计人数
sum :=0.0
for i := 1;i<= stuNum; i++{
var score float64
fmt.Printf(“请输入第%d班 第%d个学生的成绩\n”,j,i)
fmt.Scanln(&score)
sum += score
if score>=60{
//判断分数是否及格
passCount ++
}
}
fmt.Printf(“第%d个班级的平均分%v\n”,j,sum/float64 ( stuNum))
totalSum += sum
}
fmt.Printf(“各个班级的总成绩%v 所有班级的平均分是
%v\n”,totalSum,totalSum/float64 (stuNum*classNum))
fmt.Printf(“及格人数为%v\n”,PassCount)
}
此时运行代码,快速输入第1班5名学生成绩分别为10,10,70,10,10,第2班5名学生成绩分别为1,1,1,1,80。
运行结果:
…
第1个班级的平均分是22
…
第2个班级的平均分是16.8
各个班级的总成绩194 所有班级平均分是19.4
及格人数为2
验证后发现程序输出数值都正确,说明案例2实现成功。