JS 实现等腰三角形(空心)和(实心)

JavaScript012

JS 实现等腰三角形(空心)和(实心),第1张

 等腰三角形(空心)

             *

            * *

           *   *

          *     *

        // 先实现等腰三角形(实心)

        // 第一行:j=1  打印:三(4-j)个空格,一(2*j-1)个星星

        // 第二行:j=2  打印:两(4-j)个空格,三(2*j-1)个星星

        // 第三行:j=3  打印:一(4-j)个空格,五(2*j-1)个星星

        // 第四行:j=4  打印:零(4-j)个空格,七(2*j-1)个星星

        // ......

        //  步骤一 :打印一行:空格+星星

        for(var i=1i<=2i++){

            document.write(' ')

        }

        for(var i=1i<=3i++){

            document.write('*')

        }

        //  步骤二 :打印四行:每一行都是空格加星星( 此为实心)

        for(var row=1row<=7row++){

            for(var i=1i<=(7-row)i++){

                document.write(' ')

            }

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

                document.write('*')

            }

            document.write('<br/>')

        }

        //  步骤三:空心等腰三角形:在原来实心星星的地方,除了首尾,其他都是空格

        for (var row = 1 row <= 7 row++) {

            for (var i = 1 i <= (7 - row) i++) {

                document.write(' ')

            }

            //星星

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

                if (i == 1 || i == (2 * row - 1)) {

                    document.write('*')

                } else {

                    document.write(' ')

                }

            }

            document.write('<br/>')

        }

函数方法实现:

function triangle(num) {

            for (var rows = 1 rows <= num rows++) {

                for (var i = 1 i <= (num - rows) i++) {

                    document.write(' ')

                }

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

                    if (i == 1 || i == (rows * 2 - 1)) {

                        document.write('*')

                    } else {

                        document.write(' ')

                    }

                }

                document.write('<br>')

            }

        }

        triangle(6)        //此为6行

    *

  *****

*********

for(var i = 0 i < 3 i++){

    // 0 1 2

    // 4 2 0

    for(var j = 0 j < 4 - 2 * i j++){

        document.write("&nbsp")

    }

    // 0 1 2

    // 1 5 9

    for(var j = 0 j < 4 * i + 1 j++){

        document.write("*")

    }

    document.write("<br / >")

}

<html>

<head>

<title>javascript----等腰三角形</title>

</head>

<body>

<script>

var i=0 //行控制

var j=0 //列控制

var k=0 //形状控制

/*思路:先输出类似99乘法口诀表的形状,然后和你的目标形状对比,找到规律,进行控制,我这个估计是比较土的方法,您可以去网上在搜搜更精简的方式*/

for(i=0i<10i++){

for(k=10k>ik--){

document.write(" ")

}

for(j=0j<ij++){

document.write(" *")

}

document.write("<br/>")

}

</script>

</body>

</html>