JS打印菱形的方法

题目解析:首先我们需要知道只有奇数行才能打印菱形,还有就是我们要分为上下两部分来打印。就是打印星的时候,需要找一下规律,画图最容易明白。还有就是特别需要注意的是,每一行打印完之后str+"\n"。然后再最后上下打印完之后输出即可。

function printTri(rows){

//需要判断输入的数能否打印菱形,前提是只有奇数才可以打印菱形,也就是满足不是偶数才能继续执行后续操作

if(rows%2!==0){

var top=Math.ceil(rows/2),

bottom=rows-top;

//打印上半部分的菱形

var str="";

for(var i=1;i<=top;i++){//控制行

//控制空格

for(var k=1;k<=top-i;k++){

str+=" ";

}

//控制每行显示的星星

for(var j=1;j<=2*i-1;j++){

str+="*";

}

str+="\n";

}

//打印下半部分的菱形

for(var i=1;i<=bottom;i++){//控制行

//控制空白

for(var j=1;j<=i;j++){

str+=" ";

}

for(var k=1;k<=2*(bottom-i)+1;k++){

str+="*";

}

str+="\n";

}

console.log(str);//易错点不是每一行完成之后就要打印一次,这样会换行会存在间距,

}

}

//调用测试函数

printTri(7);

你可能感兴趣的:(JS打印菱形的方法)