通过查看参考链接,发现使用%.6g来打印bmi的值即可,%.6g会去除小数部分尾部的0,同时保持6位有效数字。修改如下:
参考链接:
洛谷 P5714 【深基3.例7】肥胖问题:保留六位有效数字_小废物~的博客-CSDN博客
在C中,%g和%f的区别是什么? - 问答 - 腾讯云开发者社区-腾讯云
#include <stdio.h>
int main(void){
float m,h,bmi;
scanf("%f %f",&m,&h);
bmi = m/(h*h);
// bmi=9198.10f;
if(bmi<18.5) {
printf("Underweight");
}
if(bmi>=18.5&&bmi<24){
printf("Normal");
}
if(bmi>=24){
printf("%.6g\n",bmi);
printf("Overweight");
}
return 0;
}
用%g的转换格式,前面加上.数字表示它的最大有效位数。以下是具体语句:
printf("%.6g\n",bmi);