我正在尝试创建一个可以生成一个星座金字塔的程序。金字塔的层数取决于用户的输入。例如,如果用户输入2,它将显示如下内容
*
***如你所见,它每层增加两颗星,层数也是如此。我已经为此编写了基本代码。我已经想出了如何制作层,但我似乎想不出如何正确的层数。我想出了如何让两颗星出现在每个新的图层上,但我在居中和正确显示正确数量的图层时遇到了麻烦。(我的金字塔居中不好,也不对称。这是我现在的代码。我添加了一些评论。
对于一些上下文,我将包括我希望金字塔看起来是什么样子的图片。

正如您所看到的,例如,当用户输入4时,有4层,每层每边增加2层。然而,在我目前的代码中,当用户输入4时,没有四层,我不确定如何实现这一点。请不要使用CSS来实现居中,我只想保持它的JavaScript。
var num = prompt("Enter a number..");
for (var i = 1; i <= num; i = i + 2) {
for (var j = 1; j <= (num - i); j = j + 1) {
document.write(" ");
}
for (var k = 1; k <= i; k = k + 1) {
document.write("* ");
}
document.write("<br/>");
}
发布于 2021-05-02 03:24:59
当然,您需要修复空格,但无法获得预期行数的原因是您正在增加i +2。i需要为i++
编辑:空间也是固定的。
var num = prompt("Enter a number..");
for (var i = 1; i <= num; i++) {
for (var j = 0; j < num-i; j++) {
document.write(" ");
}
for (var k = 1; k <= i; k++) {
document.write("*");
}
document.write("<br/>");
}
发布于 2021-05-02 03:24:43
你应该认为它是一个矩阵,每个行的长度取决于你的图层数,公式是n*2-1,并在行长度的中间设置它
https://stackoverflow.com/questions/67350047
复制相似问题