龙空技术网

C# - 流程控制 一 循环嵌套 027

源丁编程 978

前言:

眼前各位老铁们对“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嵌套循环内层外层关系