top1编程
← 返回题目
题解

【入门】晶晶的补习班

1 条题解

  • 0
    @ 2026-7-29 0:15:14
    #include <iostream>
    #include <iomanip>  // 用于设置输出精度
    #include <algorithm> // 可选:用于max/min函数,也可手动遍历
    using namespace std;
    
    int main() {
        // 1. 读取7天的补习时长
        int hours[7];
        for (int i = 0; i < 7; i++) {
            cin >> hours[i];
        }
        
        // 2. 计算总和
        int sum = 0;
        for (int i = 0; i < 7; i++) {
            sum += hours[i];
        }
        
        // 3. 计算平均值(保留1位小数)
        double average = sum / 7.0; // 用7.0确保浮点数除法
        
        // 4. 找最大值和最小值(两种方式任选其一)
        // 方式1:手动遍历(无需额外头文件)
        int max_h = hours[0];
        int min_h = hours[0];
        for (int i = 1; i < 7; i++) {
            if (hours[i] > max_h) max_h = hours[i];
            if (hours[i] < min_h) min_h = hours[i];
        }
        
        // 方式2:用algorithm库的max_element/min_element(需包含头文件)
        // int max_h = *max_element(hours, hours + 7);
        // int min_h = *min_element(hours, hours + 7);
        
        // 5. 按格式输出(平均值保留1位小数)
        cout << fixed << setprecision(1) << average << " " << max_h << " " << min_h << endl;
        
        return 0;
    }
    
    • 1