生成随机数的方法c++
时间: 2024-06-09 17:11:04 浏览: 17
在C语言中,生成随机数的方法可以使用rand()函数以及srand()函数来实现。rand()函数会返回一个介于0和RAND_MAX之间的伪随机数,而srand()函数用于初始化随机数生成器的种子。下面是一个示例代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int i;
srand(time(0)); // 使用当前时间作为种子
for(i = 0; i < 10; i++) {
printf("%d\n", rand());
}
return 0;
}
相关问题
c++如何生成随机数
C++中生成随机数的方法有多种,其中常用的有两种方法:
1.使用rand()函数生成随机数,需要包含头文件<cstdlib>和<ctime>,并使用srand()函数初始化随机数种子。示例代码如下:
```
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
srand((unsigned)time(NULL)); // 初始化随机数种子
for(int i=0; i<10; i++) {
cout << rand() << ' '; // 生成随机数
}
return 0;
}
```
2.使用C++11标准库中的随机数生成器,需要包含头文件<random>,并使用std::default_random_engine生成随机数引擎,std::uniform_int_distribution生成随机数分布。示例代码如下:
```
#include <iostream>
#include <random>
using namespace std;
int main() {
random_device rd; // 随机数种子
default_random_engine eng(rd()); // 随机数引擎
uniform_int_distribution<int> distr(1, 100); // 随机数分布
for(int i=0; i<10; i++) {
cout << distr(eng) << ' '; // 生成随机数
}
return 0;
}
```
c++生成随机数
生成随机数可以使用C++标准库提供的`<random>`头文件中的随机数生成器。下面是一个简单的示例代码:
```c++
#include <iostream>
#include <random>
int main() {
std::random_device rd; // 随机数生成器种子
std::mt19937 gen(rd()); // 使用 Mersenne Twister 算法
std::uniform_int_distribution<> dis(1, 100); // 定义随机数范围
// 生成 10 个随机数
for (int i = 0; i < 10; ++i) {
std::cout << dis(gen) << " ";
}
std::cout << std::endl;
return 0;
}
```
在这个例子中,我们使用了`std::random_device`类来生成随机数生成器的种子,然后使用 Mersenne Twister 算法实现了一个随机数生成器`std::mt19937`,最后使用`std::uniform_int_distribution<>`定义了随机数的范围。通过调用`dis(gen)`可以生成一个在[1, 100]范围内的整数随机数,这里我们生成了10个随机数并输出。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)