C# - 嵌套循环
C# 嵌套循环
C# 中的嵌套循环是指一个循环嵌套在另一个循环中,其中内层循环在外层循环每次迭代时都会完全执行。以下部分将通过几个示例来说明嵌套循环 -
语法
以下是 C# 嵌套 for 循环 语句的语法 -
for ( init; condition; increment ) { for ( init; condition; increment ) { statement(s); } statement(s); }
以下是 C# 嵌套 while 循环 语句的语法 -
while(condition) { while(condition) { statement(s); } statement(s); }
以下是 C# 嵌套 do...while 循环 语句减去的语法;
do { statement(s); do { statement(s); } while( condition ); } while( condition );
需要注意的是,循环嵌套是指可以将任何类型的循环嵌套在任何其他类型的循环中。例如,for 循环可以嵌套在 while 循环中,反之亦然。
嵌套 for 循环
以下程序使用嵌套 for 循环查找 2 到 100 之间的素数 -
using System; namespace Loops { class Program { static void Main(string[] args) { /* 局部变量定义 */ int i, j; for (i = 2; i < 100; i++) { for (j = 2; j <= (i / j); j++) if ((i % j) == 0) break; // 如果找到因子,则不是素数 if (j > (i / j)) Console.WriteLine("{0} is prime", i); } Console.ReadLine(); } } }
输出
当编译并执行上述代码时,它会产生以下结果 -
2 is prime 3 is prime 5 is prime 7 is prime 11 is prime 13 is prime 17 is prime 19 is prime 23 is prime 29 is prime 31 is prime 37 is prime 41 is prime 43 is prime 47 is prime 53 is prime 59 is prime 61 is prime 67 is prime 71 is prime 73 is prime 79 is prime 83 is prime 89 is prime 97 is prime
嵌套 while 循环
以下程序使用嵌套 while 循环查找 2 到 100 之间的素数 -
using System; namespace Loops { class Program { static void Main(string[] args) { int i = 2, j; // Outer loop while (i < 100) { j = 2; // Inner loop while (j <= (i / j)) { if ((i % j) == 0) // 如果找到因子,则不是素数 break; j++; } if (j > (i / j)) Console.WriteLine("{0} is prime", i); i++; } Console.ReadLine(); } } }
输出
上述代码生成以下输出 -
2 is prime 3 is prime 5 is prime 7 is prime 11 is prime 13 is prime 17 is prime 19 is prime 23 is prime 29 is prime 31 is prime 37 is prime 41 is prime 43 is prime 47 is prime 53 is prime 59 is prime 61 is prime 67 is prime 71 is prime 73 is prime 79 is prime 83 is prime 89 is prime 97 is prime
嵌套 do while 循环
以下程序使用嵌套的 Do-while 循环来查找 2 到 100 之间的素数 -
using System; namespace Loops { class Program { static void Main(string[] args) { int i = 2, j; // 外循环 do { j = 2; // 内循环 do { if ((i % j) == 0) break; // 如果找到因子,则不是素数 j++; } while (j <= (i / j)); if (j > (i / j)) Console.WriteLine("{0} is prime", i); i++; } while (i < 100); Console.ReadLine(); } } }
输出
以下是上述代码的输出 -
2 is prime 3 is prime 5 is prime 7 is prime 11 is prime 13 is prime 17 is prime 19 is prime 23 is prime 29 is prime 31 is prime 37 is prime 41 is prime 43 is prime 47 is prime 53 is prime 59 is prime 61 is prime 67 is prime 71 is prime 73 is prime 79 is prime 83 is prime 89 is prime 97 is prime