第十章:多重循环


本章目标

  1. 为什么要使用多重循环
  2. 掌握C#的多重循环
  3. 掌握在多重循环中控制语句的使用

本章内容

1、为什么要使用二重循环?

  1. 案例分析:

    若有3个班级各4名学员参赛,如何计算每个班级参赛学员的平均分?

  2. 分析:

    外层循环控制班级数目,内层循环控制每个班级学员数目

    所以只能通过使用二重循环实现

2、什么是二重循环

  1. 概念:一个循环里面嵌套一个或多个循环

  2. 案例分析:

    【示例】若有3个班级各4名学员参赛,如何计算每个班级参赛学员的平均分?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    //外层循环控制班级
    for (int i = 1; i <= 3; i++)
    {
    int sumScore = 0;//声明变量,保存每个班级的总分

    Console.WriteLine("请录入第{0}个班级学生成绩:", i);
    for (int j = 1; j <= 4; j++)
    {
    Console.WriteLine("请输入第{0}个学生成绩:", j);
    int score = Convert.ToInt32(Console.ReadLine());

    sumScore += score;//累计成绩
    }
    int avgScore = sumScore / 4;//求平均分,不考虑小数
    Console.WriteLine("第{0}个班级的平均分为:{1}", i, avgScore);
    }

    输出结果 :

    1707229721955

【示例】通过二重循环输出九九乘法表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//for 循环实现
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write("{0} x {1} = {2} ", j, i, i * j);
}
Console.WriteLine();
}

//while循环实现
int i = 1;
while (i <= 9)
{
int j = 1;
while (j <= i)
{
Console.Write("{0} x {1} = {2} ", j, i, i * j);
j++;
}
i++;
Console.WriteLine();
}
Console.ReadLine();

//do-while循环实现
int i = 1;
do
{
int j = 1;
do
{
Console.Write("{0} x {1} = {2} ", j, i, j * i);
j++;
} while (j <= i);
i++;
Console.WriteLine();
} while (i <= 9);
Console.ReadLine();

输出结果:

1
2
3
4
5
6
7
8
9
1 x 1 = 1
1 x 2 = 2 2 x 2 = 4
1 x 3 = 3 2 x 3 = 6 3 x 3 = 9
1 x 4 = 4 2 x 4 = 8 3 x 4 = 12 4 x 4 = 16
1 x 5 = 5 2 x 5 = 10 3 x 5 = 15 4 x 5 = 20 5 x 5 = 25
1 x 6 = 6 2 x 6 = 12 3 x 6 = 18 4 x 6 = 24 5 x 6 = 30 6 x 6 = 36
1 x 7 = 7 2 x 7 = 14 3 x 7 = 21 4 x 7 = 28 5 x 7 = 35 6 x 7 = 42 7 x 7 = 49
1 x 8 = 8 2 x 8 = 16 3 x 8 = 24 4 x 8 = 32 5 x 8 = 40 6 x 8 = 48 7 x 8 = 56 8 x 8 = 64
1 x 9 = 9 2 x 9 = 18 3 x 9 = 27 4 x 9 = 36 5 x 9 = 45 6 x 9 = 54 7 x 9 = 63 8 x 9 = 72 9 x 9 = 81

3、二重循环的控制语句

  1. 概述:

    在嵌套循环中使用,例如在内层的循环中使用 break 语句,那么程序只会跳出内层的循环,并不会影响到外层循环的执行。

  2. 执行流程

本章总结

  1. 二重循环的语法
  2. 理解二重循环的控制语句使用

课后作业

1.打印九九乘法表

2.有一篮球从6楼(每层楼高4米)坠落,落地后反弹的高度是掉落时高度的1半,
请问经过5次落地反弹后,篮球共经过多少距离,且最后的高度是多少?

3.编写程序,输出斐波那契数列的前10个数。运行结果如图1所示。提示:斐波那契数列数字排列规律为:1,1,2,3,5,8,13,21……

4.我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

5.打印图案

图案1:

图案2:

图案3:

图案4:

图案5:

图案6:

图案7:

图案8:

图案9:

图案10:

图案11:

图案12: