js在控制台输出菱形
以一个上半部分10行,下半部分9行的为例
var str = ""; //在控制台输出要采用字符串拼接,所以先定义一个空字符串
for (var row = 1; row <= 10; row++) { //外层循环控制行数,先输出上半部分的10行
for (var j = 1; j <= 10 - row; j++) { //因为第一行有9个空格, 1个星星。为了更直白,用@替代空格
str = str + "@" //因为第二行有8个空格, 3个星星
} //因为第三行有7个空格, 5个星星
//因为第四行有6个空格, 7个星星
// ...........
//因为第十行有0个空格,19个星星
//所以空格和行数之间的关系就是:j<=(10-row)
for (var i = 1; i <= 2 * row - 1; i++) { //星星和行数之间的关系就是:(2*row-1)
str = str + "*";
}
str = str + "\n"; //外层循环,每输出一行要换行
}
//下半部分和上半部分大致相同
for (var row = 1; row <= 9; row++) { //外层循环控制行数,输出下半部分的9行
for (var j = 1; j <= row; j++) { //因为第一行有1个空格,17个星星
str = str + "@" //因为第二行有1个空格,15个星星
} //因为第三行有1个空格,13个星星
//因为第四行有1个空格,11个星星
//...............
//因为第一行有9个空格, 1个星星
//所以空格和行数之间的关系就是:j<=row
for (var i = 1; i <= 19 - 2 * row; i++) { //星星和行数之间的关系就是总的行数19减去2倍的row即:19-2*row
str = str + "*";
}
str = str + "\n"; //外层循环,每输出一行要换行
}
console.log(str);
我直接照搬过来了,哈哈! 供大家参考哈!
看到既是,好运连连!
————————————————
版权声明:本文为CSDN博主「Fire1122」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Fire1122/article/details/108308918