使用c++生成n个随机数(取值范围为[100, 400]),并将随机数存于一个vector中,并求这些随机数的均值与方差。
时间: 2024-09-29 20:03:58 浏览: 58
在C++中,我们可以使用 `<random>` 和 `<vector>` 库来生成指定范围内的随机数,并计算它们的均值和方差。以下是简单的步骤:
```cpp
#include <iostream>
#include <vector>
#include <random>
double mean(const std::vector<int>& numbers) {
double sum = 0;
for (int num : numbers) {
sum += num;
}
return sum / numbers.size();
}
double variance(const std::vector<int>& numbers) {
double mean_val = mean(numbers);
double sum_of_squares = 0;
for (int num : numbers) {
sum_of_squares += pow(num - mean_val, 2);
}
return sum_of_squares / numbers.size();
}
int main() {
const int n = 10; // 需要生成的随机数个数
std::default_random_engine generator(std::chrono::system_clock::now().time_since_epoch().count());
std::uniform_int_distribution<int> distribution(100, 400);
std::vector<int> random_numbers(n);
for (int i = 0; i < n; ++i) {
random_numbers[i] = distribution(generator);
}
double average = mean(random_numbers);
double variance_value = variance(random_numbers);
std::cout << "Mean: " << average << "\n";
std::cout << "Variance: " << variance_value << "\n";
return 0;
}
```
在这个示例中,我们首先定义了一个 `mean` 函数计算平均值,`variance` 函数用于计算方差。然后,在 `main` 函数中,创建了一个 `std::default_random_engine` 来生成伪随机数,并使用 `std::uniform_int_distribution` 确保数字在指定范围内。最后,我们将生成的随机数存储到 `random_numbers` 中并计算均值和方差。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)