#include <iostream>
#include <climits> // 作用: 用于获取整型的最大值 INT_MAX
#include <cstdlib>

using namespace std;

int main()
{
    srand(time(NULL));
    const int N = 5; // 常量: 用于表示数组的长度

    double arr[N] = {};
    double sum = 0;       // 总和
    double avg = 0;       // 平均值
    double max = INT_MIN; // 最大值： 初始化为整型的最小值
    double min = INT_MAX; // 最小值: 初始化为整型的最大值

    // 输入 N 个数
    int n = 0;
    while (n < N)
    {
        arr[n] = rand() % 100; // 生成 0~99 之间的随机数: max = 99, min = 0 -> rand() % (max - min + 1) + min
        n++;
    }

    // 输出 N 个数
    int i = 0;
    while (i < N)
    {
        sum += arr[i]; // 累加求和

        if (arr[i] > max)
            max = arr[i]; // 更新最大值

        if (arr[i] < min)
            min = arr[i]; // 更新最小值

        cout << arr[i] << " "; // 输出

        avg += arr[i] / 5.0; // 求平均值
        i++;
    }
    cout << endl;

    cout << "N 位同学的C++课程平均值为: " << sum / N << endl;
    cout << "N 位同学的C++课程最大值为: " << max << endl;
    cout << "N 位同学的C++课程最小值为: " << min << endl;
    cout << avg << endl;

    return 0;
}