分析:
本题的坑在于未给出BMI计算公式,查阅资料之后BMI=weight/(height*height),注意单位是米和kg,对于计算出来的BMI,进行区间判断即可。
题解:
#include <bits/stdc++.h> using namespace std; int main() { int weight = 0, height = 0; float BMI = 0.f; //循环读入体重和身高 while(scanf("%d %d", &weight, &height) != EOF) { //根据公式计算BMI BMI = weight / (height/100.f * height/100.f); //使用if else嵌套判断BMI所在的区间,输出即可 if(BMI < 18.5f) printf("Underweight\n"); else if(BMI >=18.5f && BMI <= 23.9f) printf("Normal\n"); else if(BMI > 23.9f && BMI <= 27.9f) printf("Overweight\n"); else printf("Obese\n"); } return 0; }
总结:
表达式计算以及注意不同数据类型的转换和if else 的嵌套使用。