c++random生成随机数
时间: 2023-08-17 11:11:23 浏览: 63
你可以使用 C++ 中的 `<random>` 头文件来生成随机数。下面是一个简单的示例代码:
```cpp
#include <iostream>
#include <random>
int main() {
// 创建一个随机数引擎
std::random_device rd;
std::mt19937 gen(rd());
// 创建一个范围在 [0, 100] 的均匀分布
std::uniform_int_distribution<> dis(0, 100);
// 生成随机数
int random_num = dis(gen);
std::cout << "随机数: " << random_num << std::endl;
return 0;
}
```
这段代码中,我们首先创建了一个随机数引擎 `std::mt19937`,并使用 `std::random_device` 来为其提供种子,以确保每次运行生成的随机数序列都不同。
然后,我们创建了一个范围在 [0, 100] 的均匀分布 `std::uniform_int_distribution`,并使用该分布和随机数引擎来生成一个随机数。
最后,我们将生成的随机数输出到控制台上。
你可以根据需要调整范围和分布类型,以满足你的具体需求。
相关问题
C++不用ctime和random生成随机数
在C++中可以使用`<random>`头文件中的随机数生成器来生成随机数,以下是一个示例代码:
```cpp
#include <iostream>
#include <random>
int main()
{
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> dis(1, 6);
for(int i = 0; i < 10; i++)
{
std::cout << dis(gen) << " ";
}
std::cout << std::endl;
return 0;
}
```
上述代码使用了`std::random_device`来获取一个随机种子,然后使用`std::mt19937`作为随机数生成器,最后使用`std::uniform_int_distribution<>`指定了生成的随机数的范围为1~6之间的整数。在循环中调用`dis(gen)`即可生成随机数。
c++实现生成随机数
可以使用 C++ 标准库中的 rand() 函数来生成随机数。具体实现如下:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
// 设置随机数种子
srand(time(NULL));
// 生成随机数
int random_num = rand();
cout << "随机数为:" << random_num << endl;
return 0;
}
```
需要注意的是,为了让每次生成的随机数都不同,需要在程序开始时设置随机数种子。上面的代码中,使用了当前时间作为种子,保证每次运行程序时都会生成不同的随机数。