在for循环中嵌套for循环

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在for循环中嵌套for循环相关的知识,希望对你有一定的参考价值。

以例题示例:

计算100-200之间所有的质数之和(使用计数的方式判断是不是质数)

(注:判断一个数是否为质数,只需要判断这个数是否只能整除自身和1)

1.首先我们需要一个在100-200之间进行的循环,定义整型变量i表示100-200之间的数字

代码示例: for (int i = 100; i <= 200; i++)

                 {  

                   循环体;      

                  }

2.我们有了一个在100-200之间的循环后,那么就将判断该数是否为质数,就需要一个在1-这个数之间的循环,定义整型变量j表示1-i之间的数字

(注:上面我们提到判断一个数是否为质数,只需要判断这个数是否只能整除自身和1,那么我们需要将其从1到这个数之间的数都除一遍,看能否整除,此处我们定义一个整型变量num表示所能整除的个数)

代码示例:for (int i = 100; i <= 200; i++)
                 {
                //判断i是不是质数
                int num = 0;
                for (int j = 1; j <= i; j++)//判断在i和1之间有几个数字能被i整除
                   {
                        if (i % j == 0)
                       {
                        num++;//此处值为在1和i之间能被i整除的数的个数
                         }
                      }

                     }

3.从上面我们了解到,质数只能整除自身和1,那么质数num值只能为2

代码示例:for (int i = 100; i <= 200; i++)
            {
                //判断i是不是质数
                int num = 0;
                for (int j = 1; j <= i; j++)//判断在i和1之间有几个数字能被i整除
                {
                    if (i % j == 0)
                    {
                        num++;//此处值为在1和i之间能被i整除的数的个数
                    }
                }
                if (num == 2)//如果这个数只有两个能够整除的数,则为质数
                {
                 
                }
            }

4.最终需要我们输出的是100-200之间的所有质数之和,那么我们就需要将所有质数想加,定义一个整型变量sum表示质数之和

(注:我们最终输出的为质数之和,由于变量的作用域限制,我们需要将sum定义在第一个for循环之外)

代码示例:int sum = 0; //累加变量
            for (int i = 100; i <= 200; i++)
            {
                //判断i是不是质数
                int num = 0;
                for (int j = 1; j <= i; j++)//判断在i和1之间有几个数字能被i整除
                {
                    if (i % j == 0)
                    {
                        num++;//此处值为在1和i之间能被i整除的数的个数
                    }
                }
                if (num == 2)//如果这个数只有两个能够整除的数,则为质数
                {
                    sum += i;
                }
            }

5.到这一步,我们就实现了100-200之间质数相加的所有功能,下一步就是输出这个值

代码示例: int sum = 0; //累加变量
            for (int i = 100; i <= 200; i++)
            {
                //判断i是不是质数
                int num = 0;
                for (int j = 1; j <= i; j++)//判断在i和1之间有几个数字能被i整除
                {
                    if (i % j == 0)
                    {
                        num++;//此处值为在1和i之间能被i整除的数的个数
                    }
                }
                if (num == 2)//如果这个数只有两个能够整除的数,则为质数
                {
                    sum += i;
                }
            }
            Console.WriteLine("100-200之间的所有质数之和为:" + sum);

总结: for (表达式1; 循环条件; 表达式2)

                 {  

                   循环体;      

                  }

我们使用for循环式,应注意:

1.先运行表达式1,再判断循环条件是否为真,为真则执行循环体;

2.再运行表达式2,再判断循环条件是否为真,为真则执行循环体;

3.循环步骤2,直至循环条件为假,结束循环。

 

 

 

        

 

以上是关于在for循环中嵌套for循环的主要内容,如果未能解决你的问题,请参考以下文章

如何将两个for循环嵌套使用,要求内层循环结束,外层也一起结束。

无法从嵌套for循环访问父for循环

00015_循环嵌套

java中for嵌套for循环的详细讲解?

c语言中的循环的嵌套是怎么运行的

两个嵌套for循环的执行顺序