老师,请教一下
问题描述:
想到了三种倒金字塔的的写法,
但是在构造*的时候都得要增加一个变量l才行(正金字塔就不用)
怎么才能不增加额外的变量l写出倒金字塔呢?
而且感觉代码可读性一般,怎么优化好些?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>综合算法</title>
</head>
<body>
<script>
var n = Number(prompt(''))
for (var i = 1, l = 0; i <= n; i++, l++) {
for (var j = 1; j <= i - 1; j++) {
document.write(' ')
}
for (var k = 1; k <= 2 * n - i - l; k++) {
document.write('*')
}
document.write('<br>')
}
var n = Number(prompt(''))
for (var i = 1, l = n; i <= n; i++, l--) {
for (var j = 1; j <= i - 1; j++) {
document.write(' ')
}
for (var k = 1; k <= n - i + l; k++) {
document.write('*')
}
document.write('<br>')
}
var n = Number(prompt(''))
for (var i = 1, l = 0; i <= n; i++, l++) {
for (var j = 1; j <= i - 1; j++) {
document.write(' ')
}
for (var k = 2 * n - i - l; k >= 1; k--) {
document.write('*')
}
document.write('<br>')
}
</script>
</body>
</html>
11
收起
正在回答
1回答
同学你好,可以将循环变量i的值初始化为n,让变量i从n开始递减,实现倒金字塔,参考代码如下:
关于代码可读性:代码实现都是可以的,不需要优化,不过建议增加一些注释来解释代码中的变量以及每个for循环的作用,方便以后阅读。
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星