二重循环就是在循环中又嵌套循环,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 }
如图
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 }
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();
2.break语句:跳出本层循环执行外层循环。
3.二重循环continue和break对比
当continue和break均用在内层循环时,只会影响内层循环的执行,对外层循环没有影响,但他们跳转的位置不同,continue跳出本次循环进行下一次循环,break跳出本层循环继续执行外层循环。