老师请检查
<!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(性别男),身高180,体重1000,也提示体重正常:
原因是代码存在如下错误:
1、体重在标准体重上下浮动5%范围内,才是正常的,不是上下浮动5斤:
2、逻辑判断不正确。以“体重正常”为例,假设浮动不是5%,就是5斤,那么体重正常时,weight应该在n - 5到n+5之间,写法是如下形式:
综上,修改如下:
同学参考如上修改,自己调整一下。
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星