每学习新的一门语言,总会有要求输出各种各样的三角形,这不,稍微整理了一下,不都有了吗。本文主要就是JavaScript来实现。
一、正等腰三角形
正等腰三角形可以看到,每往下走一层就增加2个“*”星号,最后一层开始一直到第一层前面的空格数依次递增。每一层星星输出完毕会来一个换行符。
效果以及代码:
<script>
var str = '';
//外层控制有几层层数
for (var i = 1; i <= 10; i++) {
for (var j = 9; j >= i; j--) {
str += ' ';
}
str += '*';
//控制每层打印输出多少
for (var k = 1; k < i; k++) {
str += '*';
str += '*';
}
str += '\n';
}
console.log(str);
</script>
二、左上三角形
左上三角形可以看到,从第一层开始,每往下走一层就减少一个星星,每一层星星输出完毕会来一个换行符。
效果以及代码:
<script>
var str = '';
for (var i = 1; i <= 10; i++) {
for (var j = 10; j >= i; j--) {
str += '✦';
}
str += '\n';
}
console.log(str);
</script>
三、右下三角形
右下三角形可以看到它的实现过程和正三角形差不多,唯一的区别就是从上往下,每一层多一个笑脸输出。每一层星星输出完毕会来一个换行符。
效果以及代码:
<script>
var str = '';
for (var i = 1; i <= 10; i++) {
for (var j = 9; j >= i; j--) {
str += ' ';
}
for (var k = 1; k <= i; k++) {
str += '☻';
}
str += '\n';
}
console.log(str);
</script>
四、左下三角形
左下三角形可以看到它的实现过程更简单了,从上往下,不需要前面的空格,每一层多一个花花输出。每一层星星输出完毕会来一个换行符。
效果以及代码:
<script>
var str = '';
for (var i = 1; i <= 10; i++) {
for (var j = 1; j <= i; j++) {
str += '❀';
}
str += '\n';
}
console.log(str);
</script>
五、右上三角形
右上三角形和左下三角形的实现过程是一样的,把原先输出空格的替换成现在的小太阳就可以了。每一层星星输出完毕照样会来一个换行符。
效果以及代码:
<script>
var str = '';
for (var i = 1; i <= 10; i++) {
for (var j = 1; j < i; j++) {
str += ' ';
}
for (var k = 10; k >= i; k--) {
str += '☼';
}
str += '\n';
}
console.log(str);
</script>
六、侧等腰三角形
侧等腰三角形就是上面打印输出一个左下三角形,再接着打印输出一个左上三角形。
效果以及代码:
<script>
var str = '';
for (var i = 1; i <= 8; i++) {
for (var j = 1; j <= i; j++) {
str += '♛';
}
str += '\n';
}
for (var i = 1; i <= 7; i++) {
for (var j = 7; j >= i; j--) {
str += '♛';
}
str += '\n';
}
console.log(str);
</script>
补充一个,正好有人私信问了,题目如下:
// 2,5,10,17,26,37,50
var str = '';
// 控制层数,共7层
for (var i = 1; i <= 7; i++) {
// 控制每行打印的星星,每层的星星是当前行的平方加1
for (var k = 0; k < (i * i + 1); k++) {
str += "*"
}
str += "\n"
}
console.log(str);
效果如下: