这题难点在于对于非 C++ 语言,在输出时,请四舍五入保留六位有效数字输出,如果小数部分存在后缀 00,不要输出后缀 00。
我做了好多次都是错的,最后终于知道怎么做了,以下为题解
#include<stdio.h>
int main()
{
float m=0, h=0, BMI = 0;
scanf("%f %f", &m, &h);
BMI = m/ (h * h);
if (BMI>0&&BMI < 18.5)
{
printf("Underweight");
}
else if (BMI >= 18.5 && BMI < 24)
{
printf("Normal");
}
else
{
printf("%.6g\n",BMI);//这是重点!!!!
printf("Overweight");
}
return 0;
}
没错,就是用%g的形式来输出double和float型的数时会去除后缀的零