C语言编程if语句

#include <stdio.h>
#include <math.h>
int main()
{
float h,w,t;
printf("请输入你的身高和体重 h,w:");
scanf("%f%f",&h,&w);
printf("t=%f\n",w/(h*h));
if (t<18)
printf("你为低体重\n");
else if (t>=18 && t<=25)
printf("你为中等身材\n");
else if (t>25)
printf("你身体有点胖\n");
printf("%f,%f\n",h,w);
}

怎么就成这样了 明明是中等身材啊

#include <stdio.h>
#include <math.h>
int main()
{
float h,w,t;
printf("请输入你的身高和体重 h,w:");
scanf("%f %f",&h,&w);
t = w/(h*h);
printf("t=%f\n",t);
if (t<18)
printf("你为低体重\n");
else if (t>=18 && t<=25)
printf("你为中等身材\n");
else if (t>25)
printf("你身体有点胖\n");
printf("%.2f,%f.2\n",h,w);
return 0;
}

没有给t值赋值,在printf("t=%f\n",w/(h*h));只是打印出w/(h*h)表达式的返回值,并没有赋值给t

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-05-16
#include <stdio.h>
#include <math.h>
int main()
{
float h,w,t;
printf("请输入你的身高和体重 h,w:");
scanf("%f%f",&h,&w);
t=w/(h*h);
printf("t=%f\n",t);
if (t<18)
printf("你为低体重\n");
else if (t>=18 && t<=25)
printf("你为中等身材\n");
else if (t>25)
printf("你身体有点胖\n");
printf("%f,%f\n",h,w);
}本回答被提问者采纳
第2个回答  2015-10-29
printf("t=%f\n",w/(h*h));

你程序中根本就没有对变量t赋值, 这句t=%f放在printf中,只是当作表面上的字符串显示而已。并不会对t赋值。

scanf("%f%f",&h,&w);
t = w/(h*h);
printf("t=%f\n",  t );

第3个回答  2015-10-29
你没有给 t 赋值 ,t没有值,所以。。。

。。。
t=w/(h*h);
printf("t=%f\n", t);
if (t<18)
printf("你为低体重\n");
。。。
第4个回答  2015-10-29
你的t变量根本就没有赋值
在scanf语句下面加一句:
t=w/(h*h)
相似回答