if中的判断语句不能用 连续的不等式,连续的不等式式错误的,应该用
bmi>=18.5&&bmi<24
bmi<18.5||bim>24
还有scanf和printf中
%d是接收int数据
%f是float数据
%lf是double 类型
%ld是long类型
不能只用一种类型,用%f去接收int类型值是错的,但系统是不报错的,建议你认真地去买一本C语言的书看一下。
#include
int main ()
{
float weight;//weight应该是float型
float bmi,height,wu;
printf ("你好 欢迎使用本程序\n");
printf ("本程序用于计算体重和身高的bmi值\n");
printf ("pmi值的高低决定了你的体质怎样\n");
printf ("请输入你的身高与体重(米/公斤)\n");
scanf ("%f %f",&height,&weight);
wu=height*height;
bmi = weight/wu;//这里是 weight/wu而不是weight/height
printf ("bmi=%.2f\n",bmi);//要以%f格式打印
if (bmi>=18.5&&bmi<24)//注意条件的表达方式应该要用逻辑语言来表达
{
printf("你的体重正常,bmi值为=%.2f\n",bmi);//要以%f格式打印
}
else if (bmi<18.5||bim>24)
{
printf ("你的体重过轻或过轻,bmi值为=%.2f\n",bmi);//要以%f格式打印
}
}//问题已在代码内写好,望采纳,希望对你有帮助
#include
int main ()
{
float weight;//weight应该是float型
float bmi,height,wu;
printf ("你好 欢迎使用本程序\n");
printf ("本程序用于计算体重和身高的bmi值\n");
printf ("pmi值的高低决定了你的体质怎样\n");
printf ("请输入你的身高与体重(米/公斤)\n");
scanf ("%f %f",&height,&weight);
wu=height*height;
bmi = weight/wu;//这里是 weight/wu而不是weight/height
printf ("bmi=%.2f\n",bmi);//要以%f格式打印
if (18.5<=bmi<24)
{
printf("你的体重正常,bmi值为=%.2f\n",bmi);//要以%f格式打印
}
else if (18.5 {
printf ("你的体重过轻或过轻,bmi值为=%.2f\n",bmi);//要以%f格式打印
}
}//问题已在代码内写好,望采纳,希望对你有帮助