用js写一个空心菱形,竖线、横线、斜线

由于星号与空格宽高不一样,所以使用文字填充。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    </style>
</head>
<body>
    <script>
        var zonghang = 25;
        // 总行数,用单数,双数某写啊
        if(zonghang%2 == 1){
            // 单数
            var max = Math.ceil(zonghang/2);
            // 取最大行
            console.log(max);
            for(var h = 1;h<=max;h++){
                // 正三角
                for(var k = 1;k<=(max-h);k++){
                    document.write("口");
                }
                for(var x = 1;x<=(1+(h-1)*2);x++){
                    if(h==max){
                        document.write("鞸");
                    }else{
                        if(x==1||x==(1+(h-1)*2)||x==h){
                        document.write("鞸");
                        }
                        else{
                            // 斜线
                            if(h>Math.ceil(max/2)){
                                // 左斜线
                                if(x==1+((h-Math.ceil(max/2))*2)){
                                    document.write("鞸");
                                    continue;
                                }
                                // 右斜线
                                if(x==(1+(h-1)*2)-((h-Math.ceil(max/2))*2)){
                                    document.write("鞸");
                                    continue;
                                }
                        }
                            document.write("口");
                        }
                    }
                }
                document.write("<br>");
            }
            for(var h = zonghang-max;h>0;h--){
                // 倒三角
                for(var k = 1;k<=max-h;k++){
                    document.write("口");
                }
                for(var x = 1;x<=h*2-1;x++){
                    if(x==1||x==h*2-1||x==h){
                        document.write("鞸");
                    }else{
                        // 下斜线
                        if(h>Math.ceil(max/2)){
                            if(x==1+((h-Math.ceil(max/2))*2)){
                                document.write("鞸");
                                    continue;
                            }
                            if(x==h*2-1-(h-Math.ceil(max/2))*2){
                                document.write("鞸");
                                    continue;
                            }
                        }
                        document.write("口");
                    }
                }
                document.write("<br>");
            }
        }
    </script>
</body>
</html>

写都写俩小时,结果作业不是这个,吐了,,,就让它发挥最后的价值吧。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值