码迷,mamicode.com
首页 > 其他好文 > 详细

循环的妙用

时间:2017-05-14 22:18:43      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:else   举例   重要   lin   bsp   问题   ==   需要   无限   

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

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

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

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();                          

            }

循环的妙用

标签:else   举例   重要   lin   bsp   问题   ==   需要   无限   

原文地址:http://www.cnblogs.com/hunterhu/p/6854113.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!