top1编程
← 返回题目
题解

标准体重

1 条题解

  • 0
    @ 2026-8-4 10:20:43

    解题思路

    这道题要我们先按公式算出标准体重,再比较实际体重和标准体重的差距,判断是胖是正常。

    具体步骤:

    1. 读入身高 h(单位厘米)和体重 w(单位 kg);
    2. 按公式计算标准体重:标准 = h - 110;
    3. 算出差距:差距 = w - 标准;
    4. 判断差距是否大于等于 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