多重循环应用案例
package main
import “fmt”
/*
介绍:
1)将一个循环放在另一个循环体内,就形成了嵌套循环。在外边的for称为外层循环在里面的for
循环称为内层循环。【建议一般使用两层,最多不要超过3层】
2)实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环的条件为false
时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环。
3)设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行mn=mn
多重循环控制(重点,难点)
基本介绍
1)将一个循环放在另一个循环体内,就形成了嵌套循环。在外边的for称为外层循环在里面的for
循环称为内层循环。【建议一般使用两层,最多不要超过3层】
2)实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false
时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环。
3)外层循环次数为m次,内层为n次,则内层循环体实际上需要执行mn=mn次
多重循环控制
应用实例
1)统计3个班成绩情况,每个班有5名同学,求出各个班的平均分和所有班级的平均分【学生的成绩从键盘输入】
2)统计三个班及格人数,每个班有5名同学。
3)打印金字塔经典案例
使用for循环完成下面的案例
清编写一个程序,可以接受一个整数,表示层数,打印出金字塔。
上机练习题
打印空心金字塔
1)完成思路,可以先从矩形开始打
2)代码实现
3)清同学使用while来实现一把
/
//应用案例
//统计3个班成绩情况,每个班有5名同学,求出各个班的平均分和所有班级的平均分
//【学生的成绩从键盘输入】
//编程时两大绝招
/
1)先易后难,即将一个复杂的问题分解成简单的问题
2)先死后活
实现分析实现思路
1.统计1个班成绩情况,每个班有5名同学,求出该班的平均分【学生的成绩从键盘输入】
=先易后难
2.学生数就是5个【先死后活】
3.声明一个sum 统计班级的总分
//分析实现思路2
//1.统计3个班成绩情况,每个班有5名同学,求出每个班的平均分【学生的成绩从键盘输入】
//2.j表示第几个班级
//3.定义一个变量存放总成绩
//分析实现思路3
//1.我们可以把代码**
//2.定义两个变量,表示班级的个数和班级的人数
//走代码实现
//统计三个班及格人数,每个班有5名同学。
//分析思路4
//1.声明以变量passCount 用于保存及格人数
*/
//走代码实现
func main(){
var classNum int =3//分析思路3中
var stuNum int = 5//分析思路3中
var totalsum float64 = 0.0//三个班的总成绩之和(变量)//分析思路2当中
var passCount int =0//分析思路4
for j :=1;j<=classNum;j++{//j表示第几个班级//分析思路2当中
sum := 0.0//分析思路1当中
for i :=1; i<=stuNum; i++{//分析思路1当中
var score float64//分析思路1当中
fmt.Printf(“请输入第%d班 第%d个学生的成绩 \n”,j, i)//分析思路1当中
fmt.Scanln(&score)//分析思路1当中
//累计总分
sum += score//分析思路1中
//判断分数是否及格
if score>=60{
passCount++
}
}
fmt.Printf(“班级的平均分是%v”,j, sum /float64(stuNum) )//分析思路1中
//将各个班的总成绩累计到totalSum
totalsum += sum//三个班的总成绩之和变量//分析思路2中
}
fmt.Println(“总成绩%v 所有班级平均分%v\n”,totalsum,totalsum/float64(stuNum*classNum))//分析思路2中
fmt.Println(“及格人数为%v”,passCount)//分析思路4
//2)统计三个班及格人数,每个班有5名同学。
//对上面的代码进行修改
}