美文网首页
通过循环按执行顺序,做一个5×5的二维数组,赋1到25的自然数,

通过循环按执行顺序,做一个5×5的二维数组,赋1到25的自然数,

作者: 知名大学士 | 来源:发表于2020-03-02 21:53 被阅读0次
    效果图

    题目:通过循环按执行顺序,做一个5×5的二维数组,赋1到25的自然数,然后输出该数组的左下半三角。试编程。二维数组长这样 :

    [
        [1,2,3,4,5],
        [1,2,3,4,5],
        [1,2,3,4,5],
        [1,2,3,4,5],
        [1,2,3,4,5]
    ]
    

    拿到题目我们首先考虑什么是二维数组,二位数组简单点说就是一维数组的每一项也是一个一维数组。
    比如一个一维数组长这样:[ "A", "B", "C", "D", "E"]一共五项,我们分别把这五项换成[1,2,3,4,5]他就变成了上边题目中的样子。

    题目要求我们使用循环来生成这个二维数组,首先我们使用for循环来生成一个一维的数组:

    var arr = new Array();
    for (var i = 0; i < 5; i++) {
      arr[i] = i + 1;
    }
    

    我们生成的数组是这样的:[1,2,3,4,5]
    然后我们将这个代码修改一下,把arr[i] = i + 1;修改为以下代码:

    arr[i] = new Array();
    for (var j = 0; j < 5; j++) {
      arr[i][j] = sum++;
    }
    

    这样我们在一维数组的每一项里又生成了一个一维数组,我们的数组就变成了:

    [
      [1, 2, 3, 4, 5]
      [6, 7, 8, 9, 10]
      [11, 12, 13, 14, 15]
      [16, 17, 18, 19, 20]
      [21, 22, 23, 24, 25]
    ]
    

    这样我们就完成了第一步了。

    第二步,我们需要输出该数组的坐下三角:
    我们通过嵌套for循环,遍历每一行的每一项,第一行打印第一项,第二行打印前两项,第三行打印前三项...,每一行后输出一个换行:

    sum = 0;
    for(var i = 0; i < arr.length; i++){
      for(var j = 0; j < i + 1; j++){
        document.write(arr[i][j] + " ");
      }
      document.write("<br>");
    }
    

    效果如图:


    效果图

    完整代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        <h1>通过循环按执行顺序,做一个5×5的二维数组,赋1到25的自然数,然后输出该数组的左下半三角。试编程。</h1>
        <h3>二维数组长这样 : <br>
            [<br>
            [1,2,3,4,5],<br>
            [1,2,3,4,5],<br>
            [1,2,3,4,5],<br>
            [1,2,3,4,5],<br>
            [1,2,3,4,5]<br>
            ]
        </h3>
        <script>
            var arr = new Array();
            var sum = 1;
            for (var i = 0; i < 5; i++) {
                arr[i] = new Array();
                for (var j = 0; j < 5; j++) {
                    arr[i][j] = sum++;
                }
            }
            sum = 0;
            for(var i = 0; i < arr.length; i++){
                for(var j = 0; j < i + 1; j++){
                    document.write(arr[i][j] + " ");
                }
                document.write("<br>");
            }
        </script>
    </body>
    </html>
    

    相关文章

      网友评论

          本文标题:通过循环按执行顺序,做一个5×5的二维数组,赋1到25的自然数,

          本文链接:https://www.haomeiwen.com/subject/fmbikhtx.html