21xrx.com
2025-04-10 20:54:36 Thursday
文章检索 我的文章 写文章
C++如何生成随机数
2023-07-06 22:32:54 深夜i     16     0
C++ 随机数 生成

在程序设计中,生成随机数是一个非常常见的需求,而C++语言也为我们提供了生成随机数的能力。下面就来介绍一些在C++中生成随机数的方法。

方法1:使用rand()函数

rand()函数是一个很常用的用于生成随机数的函数,其返回值是一个整型数,可以通过调用srand()函数设置种子来控制生成的随机数序列。例如,下面的代码会生成一个在0到99之间的随机数:

srand(time(NULL)); // 设置种子
int num = rand() % 100; // 生成随机数

需要注意的是,由于随机数的生成是基于种子的,因此每次生成的随机数序列都是相同的。如果需要生成不同的随机数序列,可以通过调用time()函数获得当前时间作为种子。

方法2:使用random库

C++11引入了random库,该库提供了更加高级的随机数生成方法。它包含了多个分布函数,例如正态分布、均匀分布等,并且可以通过指定种子来控制生成的随机数序列。下面的代码会生成一个在0到99之间的随机数:

std::random_device rd;
std::mt19937 generator(rd());
std::uniform_int_distribution<> distribution(0, 99);
int num = distribution(generator);

这个代码使用了一个Mersenne Twister算法实现的随机数生成器,并且通过uniform_int_distribution<>函数指定了生成的随机数的范围。

需要注意的是,由于random库是C++11引入的,因此需要使用支持C++11的编译器才能编译此代码。

总结

以上就是在C++中生成随机数的两种方法。在选择使用具体方法时,需要根据实际情况来制定合适的生成算法和参数来满足需求。

  
  

评论区

请求出错了