循环嵌套
来源:互联网 发布:网络结婚主持台词 编辑:程序博客网 时间:2024/06/05 17:17
多层循环执行的过程是外层循环每执行一次,内层循环就完整的执行一遍。
#include<iostream.h>void main(){ int i,j,k; cout<<"i"<<"j"<<"k"<<endl; for(i=0;i<2;i++) for(j=0;j<2;j++) for(k=0;k<2;k++) cout<<i<<j<<k<<endl;}
这是一个三层循环,最外层循环每定一个i值时,第二层循环j从0~1执行两次循环;第二层循环的循环变量j每定一个值,第三层循环的k从0~1执行两次循环,第三层的循环体cout<<i<<j<<k;
共执行了2*2*2=8次循环。通过运行结果,可以非常清楚的了解循环过程。
例题一、打印乘法口诀表。
#include<iostream.h>void main(){ int i,j,k; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) cout<<j<<"*"<<i<<"="<<i*j<<" "; cout<<endl; }}
用i控制行,用j控制列,需要两层循环。
例题二、两个乒乓球队比赛,各出3人,甲队为a,b,c三人,乙队为x,y,z三人,有人向队员打听比赛名单,a说他不和x比,c说他不和x、z比,请找出三对比赛选手的名单。
用穷举法。
#include<iostream.h>void main(){ char i,j,k; for(i='x';i<='z';i++) for(j='x';j<='z';j++) if(i!=j)//a和b的对手不能是同一个人 for(k='x';k<='z';k++) if(i!=k&&j!=k)//a,b,c的对手不能同一个人 if(i!='x'&&k!='x'&&k!='z') //a的对手不是x,c的对手不是x和z cout<<"顺序是"<<"a--"<<i<<" "<<"b--"<<j<<" "<<"c--"<<k;}
i 是a的对手,j是b的对手,k是c的对手。
循环中的中途退出
break语句
1、break语句用在switch中时,使程序跳出switch而执行switch后的程序
2、break语句用在for、do-while和while中,可使程序终止循环而执行循环后的语句。通常break与if配合,即满足条件时便跳出循环。
例题三、输入一个数判断是否为素数。
素数是只能被1和自身整除的数。
#include<iostream.h>void main(){ int n; cin>>n; int i=2; for(;i<n;i++) if(n%i==0) break; if(i>=n) cout<<"是素数"; else cout<<"不是素数";
1、break语句不能用于循环语句或者switch语句之外任何语句中。
2、在多层循环中一个break只能跳出一层,而跳到最外层需要多个地方设置break。
continue语句
continue语句是跳过循环体中剩余语句而强行执行下一次循环,continue语句只用于循环体中,通常与if配合。
continue和break区别是,continue只结束本次循环,继续执行下一次循环,而break则是结束整个循环。
例题四、输出能被3和7整除的三位整数。
#include<iostream.h>void main(){ int i; int count=0; for(i=100;i<1000;i++) { if(i%3!=0) continue; if(i%7!=0) continue; count++; cout<<i<<" "; if(count%5==0) cout<<endl; }}
continue对for循环,跳过循环体其余语句,转向循环增量表达式3的计算。对do-while和while循环,跳过循环体其余语句,转向循环条件的判定,继续判定是否循环。
循环嵌套时,break和continue只影响包含他们的最内层循环,与外层循环无关。
- 嵌套循环
- 循环嵌套
- 循环嵌套
- 嵌套循环
- 循环嵌套
- 嵌套循环
- 循环嵌套
- 循环嵌套
- 循环嵌套
- 循环嵌套
- 嵌套循环
- 嵌套循环
- 嵌套循环
- 嵌套循环
- 循环嵌套
- 循环嵌套
- 循环嵌套
- 嵌套循环
- Android—DialogActivity讲解
- 【Java并发编程】Executors
- 文档啊,最重要的还是层次感
- 基于Python的期货公司后台业务思考与实践
- 邻接表实现 单源最短路径SPFA算法
- 循环嵌套
- MongoDB学习笔记之文档的CRUD
- C++实现多线程socket通信,可多连接
- 58-总结-【cartographer源码分析】系列的第六部分【 mapping 】
- easyUI tree+layout SpringMVC 点击west里的菜单,在center里展示页面
- 使用php的GD库拼接图片
- 微服务架构(三):微服务重构应用及IBM解决方案
- 强学习器------随机森林
- Linux学习-grep命令整理