首页 > 代码库 > 循环的妙用

循环的妙用

  当我们在学习程序设计的过程中,我们会发现有很多重复的步骤,变化的仅仅是当中的某一个变量,这就要引入我们的一个重要的知识——“循环”。循环就是重复执行语句,这是个很方便又很有意思的技术,可以重复操作任意多次,而不必编写相同的代码。很多复杂的计算,我们可以通过循环交给电脑,仅仅两行代码,坐享其成,何乐而不为呢。

  目前,在面向过程的程序设计时,循环起到了核心的作用,大部分的问题都需要通过循环解决,使用比较频繁的便是while循环和for循环。在使用循环的过程中,需要有很强的逻辑能力,对每个变量的变化和程序过程的控制都要掌握清楚,有时候需要更加精细地控制循环代码的处理,还要对循环中断的节奏掌握到位。很多程序还要用到无限循环和中断来提升用户的使用体验。

  下面举一个经典的例子:哥德巴赫猜想,用这个经典而简单的C#程序来展示面向过程的程序设计对循环的应用。

<style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008400 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px "PingFang SC"; color: #008400 } span.s1 { } span.s2 { color: #d12f1b } span.s3 { font: 11.0px "PingFang SC"; color: #d12f1b } span.s4 { color: #272ad8 } span.s5 { color: #000000 } span.s6 { font: 11.0px "PingFang SC" } span.s7 { color: #008400 } span.s8 { font: 11.0px "PingFang SC"; color: #008400 } span.s9 { font: 11.0px Menlo; color: #000000 } span.s10 { font: 11.0px Menlo }</style>

while (true)

            {

                Console.Clear();

                Console.Write("请输入一个大于2的偶数:");

                int input = int.Parse(Console.ReadLine());

                if (input <= 2 || input % 2 != 0)

                {

                    Console.Write("输入的数字有误,按Enter键返回输入");

                    Console.ReadLine();

                    continue;

                }

                //先找出从2开始到input-2的所有数

                for (int i = 2; i < input - 1; i++)

                {

                    bool isFind = false;

                    //判断这个数是不是质数

                    for (int j = 2; j < i; j++)

                    {

                        if (i % j == 0)

                        {

                            isFind = true;

                            break;

                        }

                    }

                    //如果这个数已经不是质数,就直接进行下一轮循环,判断下一个数

                    if (isFind == true)

                    {

                        continue;

                    }

                    //如果这个数是质数,就判断cha是不是质数

                    else

                    {

                        int cha = input - i;

                        for (int j = 2; j < cha; j++)

                        {

                            if (cha % j == 0)

                            {

                                isFind = true;

                                break;

                            }

                        }

                        //如果cha不是质数,就直接进入下一轮循环,判断下一个数

                        if (isFind == true)

                        {

                            continue;

                        }

                        //如果cha也是质数,就举例成功,并且退出查找的循环

                        else

                        {

                            Console.WriteLine(input+"="+i+"+"+cha);

                            break;

                        }

                    }

                }

                Console.Write("Enter键返回重新输入");

                Console.ReadLine();                          

            }

循环的妙用