在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,直至循环条件为假,结束循环。

时间: 2024-11-07 09:11:00

在for循环中嵌套for循环的相关文章

&lt;09&gt; for循环的嵌套+for循环嵌套应用:打印图形+ 按要求打印图形+

for循环的嵌套: 1 #include <stdio.h> 2 3 int main(int argc, const char * argv[]) { 4 //打印出矩形的“*” 5 //控制打印了5行 6 //第一种理解方式:把打印一行的代码,执行了5次 7 for (int j=0; j<5; j++) { 8 //打印一行 * ,有5个 9 10 for(int i=0;i<5;i++){ 11 printf("*\t"); 12 } 13 printf

循环中读取数据库、嵌套循环引起的性能问题

背景说明 K/3 Cloud的代码开发规范,严格禁止在循环中到数据库读取数据,这会引发严重的性能问题: 需在循环外,一次性取回需要的数据. 但对于提前取回的数据,如果没有预先处理,常常需要嵌套一个循环到集合中取数,这也是非常严重的性能问题. 本帖将通过一个案例,编写三套实现方法,演示循环取数,典型的错误方案与推荐方案. 案例说明 需求: 生成销售出库单时,自动检查库存,从有存货的仓库出库. 实现方案: 编写单据转换插件,物料.数量携带完毕后,到数据库取有存货的仓库,填写到仓库字段中: 如果某一个

第八讲,循环结构,for循环,while循环

程序在一般情况下是按顺序执行的. 编程语言提供了各种控制结构,允许更复杂的执行路径. 循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式: Python提供了for循环和while循环: 循环类型 描述 while 循环 在给定的判断条件为 true 时执行循环体,否则退出循环体. for 循环 重复执行语句 嵌套循环 你可以在while循环体中嵌套for循环 循环控制语句 循环控制语句可以更改语句执行的顺序.Python支持以下循环控制语句: 控制语句 描述

问题记载——keil中写for循环嵌套

还是上次的工程,LED灯闪烁.我今天回想一下感觉上次调试的时候还是有点问题,LED0 1和0的翻转时间很奇怪. 所以今天又打开看了看,单步调试,发现for循环嵌套只执行前一个循环,后一个循环根本不执行. //不行 void Delay(unsigned int t) { unsigned int i,j; for(i=0;i<t;i++){ for(j=0;j<t;j++){} } } //不行 void Delay(unsigned int t) { unsigned int i,j; fo

列表中使用嵌套for循环[i*j for i in range(3) for j in range(3)]

利用嵌套for循环形成一个新列表 [i*j for i in range(3) for j in range(3)]相当于如下代码 li=[] for i in range(3): for j in range(3): print(i*j) li.append(i*j) print(li) 结果和[i*j for i in range(3) for j in range(3)]的结果一样都是: [0, 0, 0, 0, 1, 2, 0, 2, 4] 以上就是利用嵌套for循环形成一个新列表是怎么

python练习题:循环打印嵌套列表

好久没写博文了,添加一个练习题,选自<head_first_python>~~ python列表:以中括号开始和结束"[]":列表项以逗号","分隔开,使用赋值操作符"="赋予一个标识符.如: movies=["the holy",1975,"terry jones",91,["graham",["michael","john",&qu

C语言循环的嵌套

注:参考网络资源拟制,如雷同请见谅循环的嵌套:一个循环体语句中又包含另一个循环语句,称为循环嵌套.嵌套注意事项:1.使用循环嵌套时,内层循环和外层循环的循环控制变量不能相同.2.循环嵌套结构的书写,最好采用"右缩进"格式,以体现循环层次的关系.3.尽量避免太多和太深的循环嵌套结构用途:循环嵌套可以帮助我们解决很多问题,在C语言中经常被用于按行列方式输出数据,例如: //////////////// // 九九乘法表 /////////////// #include <stdio.

(转)深入理解JavaScript的闭包特性 如何给循环中的对象添加事件

深入理解JavaScript的闭包特性如何给循环中的对象添加事件 初学者经常碰到的,即获取HTML元素集合,循环给元素添加事件.在事件响应函数中(event handler)获取对应的索引.但每次获取的都是最后一次循环的索引.原因是初学者并未理解JavaScript的闭包特性. 有个网友问了个问题,如下的html,为什么点击所有的段落p输出都是5,而不是alert出对应的0,1,2,3,4. 1.  <!DOCTYPE HTML> 2.  <html> 3.  <head&g

break与continue在循环中的区别

break (1).结束当前整个循环,执行当前循环下边的语句.忽略循环体中任何其它语句和循环条件测试. (2).只能跳出一层循环,如果循环是嵌套循环,那么需要按照你嵌套的层次,逐步使用break来跳出. continue (1).终止本次循环的执行,即跳过当前这次循环中continue语句后尚未执行的语句,接着进行下一次循环条件的判断. (2).结束当前循环,进行下一次的循环判断. (3).终止当前的循环过程,但他并不跳出循环,而是继续往下判断循环条件执行语句.它只能结束循环中的一次过程,但不能