老师请检查

老师请检查

<!DOCTYPE html>

<html lang="en">


<head>

    <meta charset="UTF-8">

    <title>if算法</title>

</head>


<body>

    <script>

        //补充代码

        // 方法一

        // // 输入性别 0表示女性 1表示男性

        // var sex = Number(prompt('请输入性别'));

        // // 输入身高--CM

        // var height = Number(prompt('请输入身高'));

        // // 输入体重--KG

        // var weight = Number(prompt('请输入体重'));


        // // 根据性别判断标准体重

        // if (sex == 0) {

        //     // 女性标准体重计算公式

        //     var n = (height - 70) * 0.6;


        //     // 判断体重是否符合标准体重

        //     if (n - 5 <= weight && weight >= n + 5) {

        //         alert('体重正常');

        //     } else if (n - 5 > weight || n + 5 > weight) {

        //         alert('太瘦了,要多补充营养哦');

        //     } else {

        //         alert('该锻炼身体减肥了哦')

        //     }

        // } else {

        //     // 男性标准体重计算公式

        //     var n = (height - 80) * 0.7;


        //     // 判断体重是否符合标准体重

        //     if (n - 5 <= weight && weight >= n + 5) {

        //         alert('体重正常');

        //     } else if (n - 5 > weight || n + 5 > weight) {

        //         alert('太瘦了,要多补充营养哦');

        //     } else {

        //         alert('该锻炼身体减肥了哦')

        //     }

        // }


        // 方法二

        // 请输入性别 0表示女性 1表示男性

        var sex = Number(prompt('请输入性别'));

        // 输入身高

        var height = Number(prompt('请输入身高'));

        // 输入体重

        var weight = Number(prompt('请输入体重'));


        // 根据性别判断标准体重

        if (sex == 0) {

            // 女性标准体重计算方法

            var n = (height - 70) * 0.6;


            // 判断体重是否符合标准体重

            if (weight >=

                n - 5 && weight <=

                n + 5) {

                alert(体重正常);

            } else if (weight <= n - 5 || weight <= n + 5) {

                alert('太瘦了,要多补充营养');

            } else {

                alert('该锻炼身体减肥了');

            }

        } else {

            var n = (height - 80) * 0.7;

            // 判断体重是否符合标准体重

            if (weight >= n - 5 && weight <=

                n + 5) {

                alert(体重正常);

            } else if (weight <= n - 5 || weight <= n + 5) {

                alert('太瘦了,要多补充营养');

            } else {

                alert('该锻炼身体减肥了');

            }

        }

    </script>

</body>


</html>


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,效果不正确。输入1(性别男),身高180,体重1000,也提示体重正常:

https://img1.sycdn.imooc.com//climg/61693d810953ac0104780112.jpg

原因是代码存在如下错误:

1、体重在标准体重上下浮动5%范围内,才是正常的,不是上下浮动5斤:

https://img1.sycdn.imooc.com//climg/61693de80944b8c508000215.jpg

2、逻辑判断不正确。以“体重正常”为例,假设浮动不是5%,就是5斤,那么体重正常时,weight应该在n - 5到n+5之间,写法是如下形式:

https://img1.sycdn.imooc.com//climg/61693e56096dd8c908230242.jpg

综上,修改如下:

https://img1.sycdn.imooc.com//climg/61693f0c094cf94010000867.jpg

同学参考如上修改,自己调整一下。

祝学习愉快!

  • <!DOCTYPE html>

    <html lang="en">


    <head>

        <meta charset="UTF-8">

        <title>if算法</title>

    </head>


    <body>

        <script>

            //补充代码

            // 方法一

            // 输入性别 0表示女性 1表示男性

            var sex = Number(prompt('请输入性别'));

            // 输入身高--CM

            var height = Number(prompt('请输入身高'));

            // 输入体重--KG

            var weight = Number(prompt('请输入体重'));


            // 根据性别判断标准体重

            if (sex == 0) {

                // 女性标准体重计算公式

                var n = (height - 70) * 0.6;


                // 判断体重是否符合标准体重

                if (n * (1 - 0.05) >= weight && weight <= n * (1 + 0.05)) {

                    alert('体重正常');

                } else if (weight <= n * (1 - 0.05)) {

                    alert('太瘦了,要多补充营养哦');

                } else {

                    alert('该锻炼身体减肥了哦')

                }

            } else {

                // 男性标准体重计算公式


                // 判断体重是否符合标准体重

                if (weight >= n * (1 - 0.05) && weight <= n * (1 + 0.05)) {

                    alert('体重正常');

                } else if (n * (1 - 0.05) <= weight) {

                    alert('太瘦了,要多补充营养哦');

                } else {

                    alert('该锻炼身体减肥了哦')

                }

            }


            // 方法二

            // // 请输入性别 0表示女性 1表示男性

            // var sex = Number(prompt('请输入性别'));

            // // 输入身高

            // var height = Number(prompt('请输入身高'));

            // // 输入体重

            // var weight = Number(prompt('请输入体重'));


            // // 根据性别判断标准体重

            // if (sex == 0) {

            //     // 女性标准体重计算方法

            //     var n = (height - 70) * 0.6;


            //     // 判断体重是否符合标准体重

            //     if (weight >=

            //         n * (1 - 0.05) && weight <=

            //         n * (1 + 0.05)) {

            //         alert(体重正常);

            //     } else if (weight <= n * (1 - 0.05)) {

            //         alert('太瘦了,要多补充营养');

            //     } else {

            //         alert('该锻炼身体减肥了');

            //     }

            // } else {

            //     var n = (height - 80) * 0.7;


            //     // 判断体重是否符合标准体重

            //     if (weight >=

            //         n * (1 - 0.05) && weight <=

            //         n * (1 + 0.05)) {

            //         alert(体重正常);

            //     } else if (weight <= n * (1 - 0.05)) {

            //         alert('太瘦了,要多补充营养');

            //     } else {

            //         alert('该锻炼身体减肥了');

            //     }

            // }

        </script>

    </body>


    </html>


    2021-10-15 17:12:03
  • 这样对吗,老师

    2021-10-15 17:12:24
  • 同学你好,代码有如下错误:

    方式1:

    1、n * (1 - 0.05) >= weight的意思是“n * (1 - 0.05) 大于等于weight”,等价于“weight小于等于n * (1 - 0.05) ”,因此如下条件书写错误:

    https://img1.sycdn.imooc.com//climg/61694ba709101eae10000233.jpg

    修改如下:

    https://img1.sycdn.imooc.com//climg/61694c65091f336609820186.jpg

    2、n * (1 - 0.05) <= weight的意思是“n * (1 - 0.05) 小于等于weight”,即weight大于等于n * (1 - 0.05),它是“胖”的条件,如下条件与提示信息不符:

    https://img1.sycdn.imooc.com//climg/61694d3a09464cb807080148.jpg

    调整如下:

    https://img1.sycdn.imooc.com//climg/61694ed209c0815e06220290.jpg

    3、男性没有计算标准体重,修改如下:

    https://img1.sycdn.imooc.com//climg/61694c0d09ad96af08560230.jpg

    改后代码如下:

    var sex = Number(prompt('请输入性别'));

    var height = Number(prompt('请输入身高'));

    var weight = Number(prompt('请输入体重'));

     if (sex == 0) {

                var n = (height - 70) * 0.6;

               // if (n * (1 - 0.05) >= weight && weight <= n * (1 + 0.05)) {

                if (n * (1 - 0.05)<=weigth && weight <= n * (1 + 0.05)) {

                    alert('体重正常');

                } else if (weight <= n * (1 - 0.05)) {

                    alert('太瘦了,要多补充营养哦');

                } else {

                    alert('该锻炼身体减肥了哦')

                }

            } else {

                var n = (height - 80) * 0.7;

                if (weight >= n * (1 - 0.05) && weight <= n * (1 + 0.05)) {

                    alert('体重正常');

                } else if (n * (1 - 0.05) <= weight) {

                    alert('该锻炼身体减肥了哦')

                } else {

                    alert('太瘦了,要多补充营养哦');

                }

            }

    方式2:

    弹出的内容,要用引号包裹:

    https://img1.sycdn.imooc.com//climg/61694e0909072c1c05540249.jpg

    https://img1.sycdn.imooc.com//climg/61694c970959566b07520186.jpg

    修改后,代码如下:

     var sex = Number(prompt('请输入性别'));

            // 输入身高

            var height = Number(prompt('请输入身高'));

            // 输入体重

            var weight = Number(prompt('请输入体重'));

            // 根据性别判断标准体重

            if (sex == 0) {

                // 女性标准体重计算方法

                var n = (height - 70) * 0.6;

                // 判断体重是否符合标准体重

                if (weight >= n * (1 - 0.05) && weight <=n * (1 + 0.05)) {

                    alert("体重正常");

                } else if (weight <= n * (1 - 0.05)) {

                    alert('太瘦了,要多补充营养');

                } else {

                    alert('该锻炼身体减肥了');

                }

            } else {

                var n = (height - 80) * 0.7;

                // 判断体重是否符合标准体重

                if (weight >=  n * (1 - 0.05) && weight <=n * (1 + 0.05)) {

                    alert("体重正常");

                } else if (weight <= n * (1 - 0.05)) {

                    alert('太瘦了,要多补充营养');

                } else {

                    alert('该锻炼身体减肥了');

                }

            }

    祝学习愉快!


    2021-10-15 17:48:42
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师