JavaScript实现“空心等腰三角形”(改进版)及“菱形”

空心等腰三角形

实现效果如图在这里插入图片描述

 <script>
        function sanJiao(num){
    
    
            for(var n = 1; n <= num ;n++){
    
    
                for(var i = 1 ;i <= num - n; i++){
    
    
                document.write("&emsp;&thinsp;&thinsp;")
            }//打印出三角形左侧空格,当共有num行时,第n行打印的空格数为num-n
                for(var j = 1;j <= 2*n -1; j++){
    
    
                    if(j == 1|| j ==2*n -1 ){
    
    
                        document.write("⭐")
                        //打印出整个三角形,利用||只保留j==1与j==2*n-1的星星,也就是两边的星星
                    }else{
    
    
                        if(n==num){
    
    
                            document.write("⭐")
                            //打印出底部一行的星星
                        }else(
                            document.write("&emsp;&thinsp;&thinsp;")
                            //打印出中间的空格
                        )
                    }
                }
                document.write("<br/>")
                //自上而下逐行打印后换行
            }
        }
        sanJiao(10)
        //调用函数输出一个10行的空心三角形
    </script>

菱形

菱形的实现只需要简单的将等腰三角形倒置,两部分构成。
在这里插入图片描述

<script>
        function lingXing(num){
    
    
            for(var n = 1; n <= num ;n++){
    
    
                for(var i = 1 ;i <= num - n; i++){
    
    
                document.write("&emsp;&thinsp;&thinsp;")
            }//打印出三角形左侧空格,当共有num行时,第n行打印的空格数为num-n
                for(var j = 1;j <= 2*n -1; j++){
    
    
                    if(j == 1|| j ==2*n -1 ){
    
    
                        document.write("⭐")
                        //打印出整个三角形,利用||只保留j==1与j==2*n-1的星星,也就是两边的星星
                    }else{
    
    
                        document.write("&emsp;&thinsp;&thinsp;")
                    }
                }
                document.write("<br/>")
                //自上而下逐行打印后换行
            }
            for(var m = num-1; m >= 1 ;m--){
    
    
                for(var a = num - m ;a >= 1; a--){
    
    
                document.write("&emsp;&thinsp;&thinsp;")
            }
                for(var b = 2*m -1;b >= 1; b--){
    
    
                    if(b == 1|| b ==2*m -1 ){
    
    
                        document.write("⭐")
                    }else{
    
    
                        document.write("&emsp;&thinsp;&thinsp;")
                    }
                }
                document.write("<br/>")
                //自上而下逐行打印后换行
            }
        }
        lingXing(10)
        //调用函数输出一个菱形
    </script>

猜你喜欢

转载自blog.csdn.net/horizon12/article/details/108256051