有天在知乎看帖子,有人說面試程序員,讓寫了個打印99乘法表和菱形,結果那人要求當場寫,結果寫錯了,沒成功,遂作此練習。(ps.這是一段毫無心義的話)javascript
打印99乘法表:java
for(var i=1;i<10;i++){ var line_list=[]; for(var j=1;j<10;j++){ if(i>=j){ var cur_string=i+" * "+j+" = "+i*j; if(cur_string.length<10){ cur_string+=" "; } line_list.push(cur_string); } } console.log(line_list.join(" ")); }
打印菱形:程序員
console.log(printDiamond(4)); function printDiamond(halfHeight){ var curWidth=1+(halfHeight-1)*2; var strList=[]; for(var i=1;i<=halfHeight;i++){ var starWidth=1+(i-1)*2; var spaceWidth=(curWidth-starWidth)/2; var curStr="" for(var a=0;a<spaceWidth;a++){ curStr+=" "; } for(var b=0;b<starWidth;b++){ curStr+="*"; } curStr+="\n"; strList.push(curStr); } return strList.join("")+strList.slice(0,strList.length-1).reverse().join("") }