为了账号安全,请及时绑定邮箱和手机立即绑定

如下是关于控制台判断身材程序,麻烦帮忙看看我哪编错了?

如下是关于控制台判断身材程序,麻烦帮忙看看我哪编错了?

C# C
呼唤远方 2022-06-02 07:03:03
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{class Program{static void Main(string[] args){double W, h, BMI;for (int j = 1; j > 0; j++){do{Console.WriteLine("请输入您的身高(单位m)");h = double.Parse(Console.ReadLine());if (h < 0 || h > 2.5){ Console.WriteLine("哪有这种身高,请重新输入"); }}while (h < 0 || h > 2.5);do{Console.WriteLine("请输入您的体重(单位kg)");W = double.Parse(Console.ReadLine());if (W < 0){Console.WriteLine("哪有这种体重,请重新输入");}while (W < 0) ;BMI = W / (h * h);if (BMI <= 25 && BMI >= 20){ Console.WriteLine("您的身材良好,请继续保持"); }if (BMI > 25){ Console.WriteLine("您的身材偏胖,请加强锻炼控制食量"); }if (BMI < 20){ Console.WriteLine("您太苗条了,请注意营养"); }Console.ReadKey();}}}}
查看完整描述

2 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

我按照您代码的功能,给您重写了一份代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CSTest
{
class Program
{
[STAThread]
static void Main(string[] args)
{
double weight, height, BMI;
while (true)
{
Console.WriteLine("请输入您的身高(单位:米):");
if (double.TryParse(Console.ReadLine(), out height) && height>0 && height<2.5)
break;
Console.WriteLine("身高输入有误,请重新输入。");
}
while (true)
{
Console.WriteLine("请输入您的体重(单位:千克):");
if (double.TryParse(Console.ReadLine(), out weight) && weight > 0)
break;
Console.WriteLine("体重输入有误,请重新输入。");
}
BMI = weight / Math.Pow(height, 2);
if(BMI<20)
Console.WriteLine("您太苗条了,请注意营养。");
else if(BMI<=25)
Console.WriteLine("您的身材良好,请继续保持。");
else
Console.WriteLine("您的身材偏胖,请加强锻炼控制食量。");
Console.ReadKey(true);
}
}
}


查看完整回答
反对 回复 2022-06-06
?
烙印99

TA贡献1829条经验 获得超13个赞

do
{
Console.WriteLine("请输入您的体重(单位kg)");
W = double.Parse(Console.ReadLine());
if (W < 0)
{
Console.WriteLine("哪有这种体重,请重新输入");
}//这个加个大括号
}
while (W < 0) ;


查看完整回答
反对 回复 2022-06-06
  • 2 回答
  • 0 关注
  • 231 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号