输出格式:
输出n×n的往返跑方阵。每行n个数字,每个数字占3位,右对齐。
function sum(n){
if(1 > n || n > 10) throw new Error("输入一个正整数n(1⩽n⩽10 )")
var t = 1;
var c = new Array(n).fill(1).map(_ => new Array(n).fill(1));
var f = 1;
for(var i = n-1; i >= 0; i--){
for(var j = n-1; j >= 0; j--){
if(f) c[j][i] = t++;
else c[n-j-1][i] = t++;
}
f = !f;
}
////////////// 打印输出
console.log(c.map(e => e.join(" ")).join("\n"))
}
sum(3)
sum(4)
sum(5)
有用望采纳
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var n = parseInt( window.prompt("输入N:"));
var arr = new Array();
var num = 1;//填充的数
var i = n - 1;//行
var j = n - 1;//列
for (var c = 0; c < i; c++) {
arr[c] = new Array();
}
while (j >= 0) {
//向上填充
while (i >= 0) {
if (arr[i] == null) {
arr[i] = new Array();
}
arr[i][j] = num;
num++;
i--;
}
j--;//列数-1
i++;//此时i为0
if (j < 0) {
break;
}
//向下填充
while (i < n) {
arr[i][j] = num;
num++;
i++;
}
j--;//列数减1
i--;//此时i=n-1
}
var html = "";
for (var x = 0; x < n; x++) {
for (var y = 0; y < n; y++) {
if (y == n - 1) {
html += arr[x][y]+" <br/>";
}
else {
html += arr[x][y] +" " ;
}
}
}
document.write(html);
</script>
</body>
</html>