前言:
眼前各位老铁们对“js for嵌套循环内层外层关系”都比较关切,姐妹们都想要分析一些“js for嵌套循环内层外层关系”的相关资讯。那么小编同时在网上收集了一些对于“js for嵌套循环内层外层关系””的相关内容,希望同学们能喜欢,同学们一起来了解一下吧!示例:编程实现打印输出1000以内的水仙花数
水仙花数:也被称为超完全数字不变数(PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数;水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身
编程思路(仅供参考)
1 解决使用什么循环,循环中的表达式怎么编写
1.1 打印1000以内的水仙花数,使用循环,因其是固定循环次数因此使用for结构
1.2 由水仙花定义得出都是三位数,因此初始值为最少100,最多999
2 解决功能实现的具体代码
2.1 需要计算各个位数上的3次幂,声明3个变量接收每次循环中三位数的各个位的数
2.2 编写判断输出水仙花数的表达式
//方式1 //声明接收个十百三位数的变量 int bw, sw, gw; for (int i = 100; i < 1000; i++) { bw = i / 100; //会得到百位的整形数字 sw = i % 100 / 10;//先求出后两位,再得到十位的整形数字 gw = i % 10;//得到个位 //计算3次幂,重新赋值给三个变量 bw = bw * bw * bw; sw = sw * sw * sw; gw = gw * gw * gw; if ((bw + sw + gw) == i) { Console.WriteLine("{0} 是水仙花数", i); } }//方式2 //int bw, sw, gw; //for (int i = 100; i <= 999; i++) //{ // bw = i / 100; // sw = i % 100 / 10; // gw = i % 10; // //小括号加不加看需要,这个表达式中优先级非常清晰可以不加 // if (bw * bw * bw + sw * sw * sw + gw * gw * gw == i) // { // Console.WriteLine("{0} 是水仙花数", i); // } //}Console.ReadKey();
整个实现功能里面使用了循环结构,分支结构,运算符及表达式,各类型运算符的优先级,占位符等知识之前都说过不再赘述
拓展:1)改为使用递减结构实现 2)使用其他两个循环结构实现 巩固已学知识
循环嵌套
循环嵌套与分支嵌套书写格式类似,也需要配对出现,三种循环结构都可以进行相互嵌套
注意:1)嵌套时循环变量不能一样 2)嵌套时外层循环一次内层循环N次
图中可看出总循环次数等于内循环*外循环;外循环一次内循环5次
int count = 0;for (int i = 1; i <= 3; i++){ Console.WriteLine("外循环第 {0}次",i); for (int j = 1; j <= 5; j++) { Console.WriteLine("内循环等 {0}", j); count++; } Console.WriteLine("");//换行}Console.WriteLine("总循环次数为 {0}",count);Console.ReadKey();
示例:打印九九乘法表
for (int i = 1; i <= 9; i++)//控制行的输出{ for (int j = 1; j <= 9; j++)//控制列的输出 { Console.Write("{0}X{1}={2:00} ", i, j, i * j);//输出时占两位,不足位数补0 //Console.Write("{0}X{1}={2,2} ", i, j, i * j);//输出时占两位,不足位数补空格 } //内循环(列)循环i*9完毕后换行 Console.WriteLine("");//用于换行}Console.ReadKey();
{2:00},{2,2}等其他输出样式在占位符输出格式中说过
使用循环嵌套方式打印输出水仙花数
编程思路(仅供参考)
1 解决使用几层循环
1.1 打印1000以内的水仙花数,使用循环,因其是固定循环次数因此使用for结构
1.2 由水仙花定义得出都是三位数,因此初始值为最少100,最多999,共900层
1.3 使用三层嵌套,各层10次以内,将各个位数的上限与下限设置为循环初始与终止值
2 解决功能实现的具体代码
2.1 三层嵌套循环,外循环当做百位,中循环当做十位,内循环当做个位
2.2 取值范围100-999;因此十位与个位循环范围为0-9,百位循环范围只能为1-9
2.3 编写判断输出水仙花数的表达式
//声明水仙花数//int sxh=0; 可赋可不赋int sxh; //变量只要在使用之前赋值即可for (int i = 1; i <= 9; i++) //百位{ for (int j = 0; j <= 9; j++)//十位 { for (int k = 0; k <= 9; k++)//个位 { sxh= i * 100 + j * 10 + k;//等于当前循环中的三位数 if (i * i * i + j * j * j + k * k * k ==sxh) { Console.WriteLine("{0} 是水仙花数", sxh); } } }}Console.ReadKey();
内循环让j<=i即可,自己编写实现代码,这个主要就是弄懂内外循环之间的关系
标签: #js for嵌套循环内层外层关系