当我们需要在程序中生成一个随机数时,可以使用C++标准库中的<random>
头文件提供的随机数生成器。该头文件提供了多种随机数生成器以及分布函数,可以实现不同类型和范围的随机数生成。
下面是生成一个简单的1-100之间的随机数的代码示例:
#include <iostream>
#include <random>
int main()
{
// 使用random_device作为随机种子
std::random_device rd;
// 创建随机数生成器
std::mt19937 gen(rd());
// 设定分布区间为[1, 100]
std::uniform_int_distribution<> dis(1, 100);
// 生成随机数
int rand_num = dis(gen);
std::cout << "生成的随机数: " << rand_num << std::endl;
return 0;
}
这里创建一个std::random_device
类型的对象rd
作为随机种子,然后用这个种子创建一个std::mt19937
类型(梅森旋转算法)的随机数生成器gen
。接着,使用std::uniform_int_distribution<>
类型的对象dis
设置随机数生成的范围为1-100。最后,通过调用dis(gen)
生成随机数。
除此之外,我们还可以通过改变范围或者随机数生成器类型等方式,生成不同类型的随机数。
例如,以下是生成10个在0-1之间的double型随机数的代码示例:
#include <iostream>
#include <random>
int main()
{
// 使用random_device作为随机种子
std::random_device rd;
// 创建随机数生成器
std::mt19937 gen(rd());
// 设定分布区间为[0, 1]
std::uniform_real_distribution<> dis(0, 1);
std::cout << "生成的随机数: " << std::endl;
for (int i = 0; i < 10; ++i) {
// 生成随机数
double rand_num = dis(gen);
std::cout << rand_num << std::endl;
}
return 0;
}
以上是C++实现简单随机数的代码的攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c++实现简单随机数的代码 - Python技术站