2.2二重循环

二重循环就是在循环中又嵌套循环,for,while,do...while,foreach语句都可以相互嵌套。

2.2.1循环进阶

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace helloWorld
 8 {
 9    /// <summary>
10    /// 演示如何使用foreach循环
11    /// </summary>
12    class Program
13    {
14       static void Main(string[] args)
15       {
16          int i, j;//循环变量
17          int sum = 0; //总分
18          int average;//平均分
19          int score;//输入的分数
20          //外层循环控制逐个计算每个班级
21          for (i = 0; i < 3; i++)
22          {
23             sum = 0;//总分清零,重新计算
24             Console.WriteLine("please input the No.{0} class's scores: ",i+1);
25             //内层循环计算每个班级的总分
26             for (j = 0; j < 4; j++)
27             {
28                Console.Write("No.{0} student's score: ",j+1);
29                score = int.Parse(Console.ReadLine());
30                sum += score;
31             }
32             average = sum / 4;//计算平均分
33             Console.WriteLine("No.{0} class's average: {1}",i+1,average);
34          }
35          Console.ReadLine();
36       }
37    }
38 }
View Code

如图

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace helloWorld
 8 {
 9    /// <summary>
10    /// 演示如何使用foreach循环
11    /// </summary>
12    class Program
13    {
14       static void Main(string[] args)
15       {
16          int rows = 25;//打印行数
17          int i, j;//循环变量
18          //外层循环控制打印的行数
19          for (i = 1; i <= rows; i++)
20          {
21             //内层循环控制每行打印*的个数
22             for (j = 1; j <= i; j++)
23             {
24                Console.Write("*");//打印一个*
25             }
26             Console.WriteLine();//打印完一行后换行
27          }
28          Console.ReadLine();
29       }
30    }
31 }
View Code

2.2.2流程控制进阶

1.continue语句:跳出本次循环继续执行下一次循环。

 1 int i, j;//循环变量
 2          int sum = 0; //总分
 3          int average;//平均分
 4          int score;//输入的分数
 5          int count = 0;//85分以上学员的人数
 6          //外层循环控制逐个计算每个班级
 7          for (i = 0; i < 3; i++)
 8          {
 9             sum = 0;//总分清零,重新计算
10             Console.WriteLine("please input the No.{0} class's scores: ",i+1);
11             //内层循环计算每个班级的总分
12             for (j = 0; j < 4; j++)
13             {
14                Console.Write("No.{0} student's score: ",j+1);
15                score = int.Parse(Console.ReadLine());
16                sum += score;
17                if (score < 85)
18                {
19                   continue;
20                }
21                count++;
22             }
23             average = sum / 4;//计算平均分
24             Console.WriteLine("No.{0} class's average: {1}",i+1,average);
25          }
26          Console.WriteLine("the count of people whose score more than 85:{0}",count);
27          Console.ReadLine();
View Code

2.break语句:跳出本层循环执行外层循环。

3.二重循环continue和break对比

当continue和break均用在内层循环时,只会影响内层循环的执行,对外层循环没有影响,但他们跳转的位置不同,continue跳出本次循环进行下一次循环,break跳出本层循环继续执行外层循环。

posted @ 2018-10-31 17:34  LJLLY  阅读(363)  评论(0编辑  收藏  举报