top1编程
← 返回题目
题解

【入门】橘子称重

1 条题解

  • 0
    @ 2026-7-31 14:44:26

    解题思路

    一箱有 m 个橘子,因为橘子大小均匀,可以先称 n 个算出平均重量,再乘总个数估计整箱重量。

    思路:

    1. 读入 n 个橘子的重量并累加
    2. 平均每个橘子重量 = 总和 ÷ n
    3. 整箱总重 ≈ 平均重量 × 总个数 m
    4. 保留 1 位小数

    为什么这样算? 因为橘子大小均匀,所以样本的平均重量可以代表整个箱子橘子的平均重量,乘上总数就是整箱的估计重量。

    注意:算平均要用 s * 1.0 / n,让除法变成小数除法,不然整数除法会丢小数。

    举例:m=100,称了 7 个橘子共 568 克

    • 平均 568÷7 ≈ 81.14
    • 整箱 ≈ 81.14 × 100 = 8114.3

    参考代码

    #include <iostream>
    #include <iomanip>
    using namespace std;
    
    int main() {
        int m, n;
        double a[50];
        double s = 0;
        cin >> m >> n;
    
        for (int i = 0; i < n; i++) {
            cin >> a[i];
            s += a[i];
        }
    
        double avg = s * 1.0 / n;  // 平均重量
    
        cout << fixed << setprecision(1) << avg * m;  // 总重
        return 0;
    }
    

    复杂度分析

    • 时间复杂度:O(N),N 为称的橘子数
    • 空间复杂度:O(N),存重量数组
    • 1