c语言 问题 求教

2025-06-20 18:51:26
推荐回答(2个)
回答1:

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格式打印
    }

}//问题已在代码内写好,望采纳,希望对你有帮助

回答2:

#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格式打印
  }

}//问题已在代码内写好,望采纳,希望对你有帮助