|
发表于 2018-10-9 11:14:57
|
显示全部楼层
本帖最后由 凌乱大帅比 于 2018-10-9 11:25 编辑
我觉得既然属于算法专题,那至少要有灵活的变通性,直接一点点的画,那还不如用h+c直接写
- var repeat = function(str,n){return new Array(n+1).join(str)}; //打印多个字符的fun
- var draw = function(n){
- if(n%2==0){n/=2;}else{n-=1;n/=2;} //处理奇数的行
- var prime = n; //存储n的值拿去下半段渲染用
- var TopButton = function(){ //TopButton渲染最上下端的线,更符合审美
- document.write(repeat(' ',n)+repeat('*',n*3)+'</br>');
- }
- TopButton();
- for(n;n>1;n--){ //上半段渲染
- var blank_space_nums = repeat(' ',n-1);
- var take_nums = repeat('*',n);
- document.write(blank_space_nums+take_nums+'</br>');
- }
- n=prime;
- for(var i=2;i<=n;i++){ //下半段渲染
- var blank_space_nums = repeat(' ',i-1);
- var take_nums = repeat('*',i);
- document.write(blank_space_nums+take_nums+'</br>');
- }
- TopButton();
- }
- draw(20); //用户想获得多少行渲染的C字母
复制代码 |
|