Javascript打印金字塔,倒立金字塔,空心金字塔,菱形,空心菱形等

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>金字塔-菱形-空心</title>
    <script>
        var n=window.prompt("请输入行数");
        /* 右半边    星号
        *            1
        **           2
        ***          3
        ****         4
        第i行,空格无,星号i */
        document.write("正右半边<br>");
        for(i=1;i<=n;i++){//行数
            for(j=1;j<=i;j++){
                document.write("*");//打印每行星号
            }
            document.write("<br />");
        }

        /* 左半边    空格     星号
           *        4-1       1
          **        4-2       2
         ***        4-3       3
        ****        4-4       4
        第i行,空格n-i,星号i */
        document.write("正左半边<br>");
        for (i=1; i <= n; i++) {
            for(j=1;j<=n-i;j++){
                document.write("&nbsp;");//打印每行空格

            }
            for(k=1;k<=i;k++){
                document.write("*");//打印每行星号
            }
            document.write("<br/>");

        }
        /*金字塔       空格         星号

            *        3=4-1        1=2*1-1
           ***       2=4-2        3=2*2-1
          *****      1=4-1        5=2*3-1
         *******     0=4-4        7=2*4-1
         第i行,空格n-i,星号2*i-1 */
        document.write("正金字塔<br/>");
        for(i=1;i<=n;i++){
            for(j=1;j<=n-i;j++){
                document.write("&nbsp;");
            }
            for(k=1;k<=2*i-1;k++){
                document.write("*")
            }
            document.write("<br/>")
        }

        /*倒右边   星号

        ****         4
        ***          3
        **           2
        *            1
        第i行,空格n-i,星号n-i+1 */

        document.write("倒右半边<br/>");
        for (var i = 1; i<=n; i++) {
            for(j=1;j<=n-i+1;j++){
                document.write("*");
            }
            document.write("<br/>");
        }

        /*倒左半边     空格         星号
        ****        0=4-4=1-1     4=4-1+1
         ***        1=4-3=2-1     3=4-2+1
          **        2=4-2=3-1     2=4-3+1
           *        3=4-1=4-1     1=4-4+1
        第i行,空格i-1;星号n-i+1 */

        document.write("倒左半边<br/>");
        for(i=1;i<=n;i++){
            for(j=1;j<=i-1;j++){
                document.write("&nbsp;");//打印每行空格
            }
            for(k=1;k<=n-i+1;k++){
                document.write("*");//打印每行星号
            }
            document.write("<br/>");
        }

        /*倒金字塔        空格              星号
        *******        0=4-4=1-1        7=2*4-1
         *****         1=4-3=2-1        5=2*3-1
          ***          2=4-2=3-1        3=2*2-1
           *           3=4-1=4-1        1=2*1-1
        第i行,空格i-1;星号2*(n-i+1)-1  */
        document.write("倒金字塔<br/>");
        for(i=1;i<=n;i++){
            for(j=1;j<=i-1;j++){
                document.write("&nbsp;");
            }
            for(k=1;k<=2*(n-i+1)-1;k++){
                document.write("*");
            }
            document.write("<br/>");
        }

        /*菱形
           *
          ***
         *****
        *******
         *****
          ***
           *
        思路:先打印上半部分,再打印下半部分*/
        document.write("菱形<br/>");
        //打印菱形上半部分
        for(i=1;i<=n;i++){
            for(j=1;j<=n-i;j++){
                document.write("&nbsp;");
            }
            for(k=1;k<=2*i-1;k++){
                document.write("*");
            }
            document.write("<br/>");
        }
        //打印菱形下半部分
        for(i=1;i<=n;i++){
            for(j=1;j<=i;j++){//要去掉下半部分的最上一行,第二行变为第一行,每行最前面的空格加一个,所以j<=i,而不是j<=j-1;
                document.write("&nbsp;");
            }
            for(k=1;k<=2*(n-i)-1;k++){//第一行为原来第二行,星号个数也随之变化;
                document.write("*");
            }
            document.write("<br/>");
        }

        /*空心正三角形
            *
           * *
          *   *
         *******
         思路:边上的打印星号,其他的打印空格,最后一行打印星号 */
        document.write("空心正三角形<br/>");
        for(i=1;i<=n;i++){
            for(j=1;j<=n-i;j++){
                document.write("&nbsp;");
            }
            for(k=1;k<=2*i-1;k++){
                if(i==n){//最后一行星号全打印出来
                    document.write("*")
                }
                else if(k==1||k==2*i-1){//打印两边上的星号
                    document.write("*")
                }
                else{
                    document.write("&nbsp;");//打印空心
                }
            }
            document.write("<br/>");
        }

        /*空心倒三角形

         *******
          *   *
           * *
            *
         思路:边上的打印星号,其他的打印空格,第一行打印星号 */
        document.write("空心倒三角形<br/>");
        for(i=1;i<=n;i++){
            for(j=1;j<=i-1;j++){
                document.write("&nbsp;");
            }
            for(k=1;k<=2*(n-i)+1;k++){
                if (i==1) {//打印第一行星号
                    document.write("*");
                }else if(k==1||k==2*(n-i)+1){//打印两边上的星号
                    document.write("*");
                }else{
                    document.write("&nbsp;");//打印空心
                }
            }
            document.write("<br/>");
        }

        /*空心菱形

            *
           * *
          *   *
           * *
            *
         思路:和打印菱形一样,先打印上半部分,再打印下半部分 */
        document.write("空心菱形<br/>");
        //上半部分
        for(i=1;i<=n;i++){
            for(j=1;j<=n-i;j++){
                document.write("&nbsp;");
            }
            for(k=1;k<=2*i-1;k++){
                if (k==1||k==2*i-1) {
                    document.write("*");//打印边上星号
                }else{
                    document.write("&nbsp;")//打印空心空格
                }
            }
            document.write("<br/>");
        }
        // 下半部分
        for(i=1;i<=n;i++){
            for(j=1;j<=i;j++){//每行最前面的空格
                document.write("&nbsp;");
            }
            for(k=1;k<=2*(n-i)-1;k++){
                if (k==1||k==2*(n-i)-1) {
                    document.write("*");
                }else{
                    document.write("&nbsp;");
                }
            }
            document.write("<br/>");
        }
    </script>
</head>
<body>

</body>
</html>
时间: 2024-11-06 07:07:13

Javascript打印金字塔,倒立金字塔,空心金字塔,菱形,空心菱形等的相关文章

php练习——打印半金字塔、金字塔、空心金字塔、菱形、空心菱形

半金字塔 金字塔 空心金字塔 菱形     空心菱形

建筑-金字塔:古埃及金字塔

ylbtech-建筑-金字塔:古埃及金字塔 金字塔在埃及和美洲等地均有分布,古埃及的上埃及.中埃及和下埃及,今苏丹和埃及境内.现在的尼罗河下游,散布着约80座金字塔遗迹. 大小不一,其中最高大的是胡夫金字塔,高146.5米,底长230米,共用230万块平均每块2.5吨的石块砌成,占地52000平方公尺.石块之间没有任何黏着物,靠石块的相互叠压和咬合垒成.国王哈佛拉的金字塔前,还矗立着一座象征国王权力与尊严的狮身人面像.埃及金字塔是古埃及的帝王(法老)陵墓.世界七大奇迹之一.数量众多,分布广泛.开

JavaScript打印正倒直线

做了一个作业,用JavaScript打印正倒直线,突然觉得自己还是逻辑有待加强训练啊 document.write("<h3>打印倒正金字塔直线</h3>");//打印一个h3标签,内容是里边的文字 var i= 61;//定义金字塔的起始/截止宽度(百分比为单位) while(i>0)//进行循环,当宽度大于0时,打印一个宽度为i的hr水平线,并将i自减10个百分比 { document.write("<hr width=" +

javascript 打印函数名称和被引用的函数

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta h

javascript打印设置页眉页脚

<script language="JavaScript"> var hkey_root,hkey_path,hkey_key hkey_root="HKEY_CURRENT_USER" hkey_path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\" //设置网页打印的页眉页脚为空 function pagesetup_null(){ try{ var RegWsh

javascript打印金字塔

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> for(var i=0;i<6;i++){ for(var k=0;k<6-i-1;k++){ document.writeln(" "); } for(

打印升序降序字母金字塔

/* 需求:打印字母金字塔 思路: 外部使用for循环控制行,里面嵌套3个for循环, 一个控制空格打印, 一个控制字母升序打印, 一个控制字母降序打印 样例: 输入:3 输出: A ABA ABCBA */ #include<stdio.h> int main() { int storey, space, i; char ch; printf("Please enter the number of rows to print: "); scanf("%d&quo

用Python打印九九乘法表与金字塔(*)星号

''' 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9

JavaScript 打印菱形 输入打印行数 自动打印

  <!doctype html>   <html>   <head>   <meta charset="utf-8">   <title>打印菱形</title>   <script type="text/javascript">   var num = prompt("请输入打印的行数:");   for(var i=1;i<=num;i++)//决定输