要在JavaScript中打印菱形图案,可以使用嵌套循环来控制行数和每行的空格与星号数量。以下是一个示例代码,展示如何打印一个指定大小的菱形:
function printDiamond(n) {
if (n % 2 === 0) {
console.log("请输入一个奇数");
return;
}
let mid = Math.floor(n / 2);
// 上半部分(包括中间行)
for (let i = 0; i <= mid; i++) {
let spaces = ' '.repeat(mid - i);
let stars = '*'.repeat(2 * i + 1);
console.log(spaces + stars);
}
// 下半部分
for (let i = mid - 1; i >= 0; i--) {
let spaces = ' '.repeat(mid - i);
let stars = '*'.repeat(2 * i + 1);
console.log(spaces + stars);
}
}
// 示例调用,打印一个大小为7的菱形
printDiamond(7);
n
是否为奇数。因为菱形通常是对称的,偶数可能导致不对称的图案。如果输入为偶数,提示用户输入奇数并终止函数。Math.floor(n / 2)
计算菱形的中间行索引mid
。0
到mid
,每一行打印相应数量的空格和星号。mid - i
,星号数量为2 * i + 1
,这样可以确保星号数逐渐增加,形成菱形的上半部分。mid - 1
递减到0
,每一行打印相应数量的空格和星号。调用printDiamond(7);
将输出:
*
***
*****
*******
*****
***
*
n
为偶数,导致菱形上下不对称。n
是否为奇数,如果不是,提示用户重新输入。n
,打印大量行可能导致性能问题。通过以上方法,你可以灵活地在JavaScript中生成不同大小的菱形图案,并根据需要进行调整和扩展。
领取专属 10元无门槛券
手把手带您无忧上云