随即产生N 个正整数(10 <Ν≤20 )存入数组 a 中,输出 a 中的最大值,最小值及求出其平均值(保留两位小数)。
时间: 2024-03-21 12:38:45 浏览: 84
好的,以下是一个能够实现上述功能的 C++ 程序示例:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
const int MAX_N = 20; // 数组最大长度
int main()
{
int N; // 数组长度
int a[MAX_N]; // 存储随机整数的数组
int sum = 0; // 所有数的和,用于计算平均值
double avg; // 平均值
// 设置随机数种子
srand(time(0));
// 输入数组长度 N,要求 10 < N <= 20
do
{
cout << "Please enter the length of the array (10 < N <= 20): ";
cin >> N;
} while (N <= 10 || N > 20);
// 产生 N 个随机整数并存入数组 a 中
for (int i = 0; i < N; i++)
{
a[i] = rand() % 100 + 1; // 产生 1~100 之间的随机整数
sum += a[i]; // 累加求和
}
// 计算平均值
avg = sum * 1.0 / N;
// 输出最大值、最小值、平均值
int max_num = a[0], min_num = a[0];
for (int i = 1; i < N; i++)
{
if (a[i] > max_num)
{
max_num = a[i];
}
if (a[i] < min_num)
{
min_num = a[i];
}
}
cout << "Max number: " << max_num << endl;
cout << "Min number: " << min_num << endl;
cout << "Average: " << fixed << setprecision(2) << avg << endl;
return 0;
}
```
这个程序通过 `srand(time(0))` 来设置随机数种子,然后使用 `rand() % 100 + 1` 来产生1~100之间的随机整数,并存入数组 `a` 中。然后通过遍历数组找到最大值和最小值,并计算出平均值。最后输出这三个数。
阅读全文