题解
标准体重
1 条题解
-
0
解题思路
这道题要我们先按公式算出标准体重,再比较实际体重和标准体重的差距,判断是胖是正常。
具体步骤:
- 读入身高 h(单位厘米)和体重 w(单位 kg);
- 按公式计算标准体重:标准 = h - 110;
- 算出差距:差距 = w - 标准;
- 判断差距是否大于等于 5:如果是,说明超重了,输出 "Fat";如果不是,输出 "Normal"。
题目说“如果输入的体重减去标准体重大于等于 5”,这里的“体重减去标准体重”就是 w - (h - 110)。注意“大于等于 5”要用 >=,当差距正好等于 5 时也要输出 "Fat"。
有一个非常容易出错的地方:运算顺序。w - h - 110 和 w - (h - 110) 是完全不同的两个结果!比如身高 150,标准体重是 150 - 110 = 40,体重 45 时差距是 45 - 40 = 5。我们一定要先算出括号里的标准体重,再用体重减去它,顺序不能乱。用变量分两步计算,就能避免把公式写错。
参考代码
#include using namespace std;
int main() { int h, w; // h 表示身高(厘米),w 表示体重(kg) cin >> h >> w; // 读入身高和体重
int standard = h - 110; // 按公式计算标准体重 int diff = w - standard; // 实际体重减去标准体重的差值 if (diff >= 5) { // 差值大于等于 5,说明偏胖 cout << "Fat" << endl; } else { // 差值小于 5,体重正常 cout << "Normal" << endl; } return 0;}
复杂度分析
程序只读入两个整数,做一次减法和一次比较,运算次数固定,时间复杂度是 O(1)。只用了 4 个 int 变量,空间复杂度也是 O(1)。
- 1