题目:通过循环按执行顺序,做一个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("
");
}
效果如图:
完整代码:
Document
通过循环按执行顺序,做一个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]
]