我开始编程。我使用的是javascript。
练习时,我打印一个这样的三角形:
*
**
***
****
*****
但我想从右到左打印,如下所示:
*
**
***
****
*****
所以,凭借我的noob知识,我写了这段代码:
var line = '';
var size = 5;
for (var i = 0; i <= size; i++) {
for (var j = 0; j <= size; j++) {
if (j == size - i) {
line += '#';
if (i != 0) {
for (var k = j; k < size; k++) {
line += '#';
}
}
} else {
line += ' ';
}
}
line += '\n';
}
console.log(line);
有效!但我认为这很糟糕。
有人可以给我一些建议吗?
非常感谢!
答案 0 :(得分:1)
稍短一些:
var size = 5;
for (i=0;i<size;i++) {
var txt = ""
for (j=1;j<=size;j++) {
txt+=" *"[(j>=size-i)+0]
}
console.log(txt)
}
答案 1 :(得分:1)
你也可以试试这个
function print(n){
for (var i=1;i<=n;i++) {
var str = "";
for (var j=0;j<n;j++) {
str+= (j >= n-i)?"*":" "
}
console.log(str);
}}
print(9)
答案 2 :(得分:0)
请使用此。
var N = 5;//based on your input
for (var i=0;i<N;i++) {
var str = "";
for (var j=0;j<N;j++) {
if (j >= N-i-1) {
str += "*";
} else {
str += " ";
}
}
console.log(str);
}