题目中我们得到了以下要点:
体重/标准体重/身高
体重-输入时它是市斤
标准体重-题目中给出的结果是公斤数 所以 我们要为它进行转换 让它成为市斤数 所以要x2
所以 标准体重(市斤)的公式应该是:(身高CM-100)* 0.9 * 2
身高 即用于计算标准体重时所需要用到的数据.
综上几点,可直接得出代码如下:
#include <iostream>
#include <vector>
#include<cmath>
using namespace std;
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {
float h, m;//身高 体重(市斤)
cin >> h >> m;
float d = (h - 100) * 0.9 * 2;//标准体重 转为市斤
if (fabs(m - d) < d * 0.1) //题目自带的公式
cout << "You are wan mei!" << endl;
else if (m > d) //体重 大于 标准体重
cout << "You are tai pang le!" << endl;
else if (d > m) //标准体重 大于 体重
cout << "You are tai shou le!" << endl;
}
return 0;
}
题目原话中有一段:即 | 真实体重 − 标准体重 | < 标准体重×10%
其中 “|” 符号是绝对值的意思,但是我们实际在运算这个绝对值的时候不应该使用abs来取,而应该使用fabs (单精度的绝对值).