使用c++解答:输入n,生成n个随机数(取值范围为[100, 400]),并将随机数存于一个vector中,并求这些随机数的均值与方差。
时间: 2024-09-29 19:04:07 浏览: 31
在C++中,你可以使用 `<random>` 和 `<numeric>` 库来生成随机数并计算平均值和方差。以下是步骤:
```cpp
#include <iostream>
#include <vector>
#include <random>
#include <chrono> // 获取当前时间用于种子初始化
#include <cmath>
int main() {
// 定义随机数的范围和数量
const int n = 10; // 你可以更改这里的 n 来生成更多随机数
const int min = 100;
const int max = 400;
// 初始化随机数生成器,使用当前时间作为种子,保证每次运行结果不同
std::default_random_engine generator(std::chrono::system_clock::now().time_since_epoch().count());
// 创建一个存储随机数的 vector
std::vector<int> random_numbers(n);
// 生成并填充随机数
for (int i = 0; i < n; ++i) {
random_numbers[i] = min + static_cast<int>(static_cast<double>(max - min) * generator()) / RAND_MAX;
}
// 计算平均值
double sum = 0;
for (const auto& num : random_numbers) {
sum += num;
}
double mean = sum / n;
// 计算方差
double variance = 0;
for (const auto& num : random_numbers) {
variance += pow(num - mean, 2);
}
variance /= n;
// 输出结果
std::cout << "Mean: " << mean << "\n";
std::cout << "Variance: " << variance << "\n";
return 0;
}
```
阅读全文