21xrx.com
2025-06-29 10:01:34 Sunday
文章检索 我的文章 写文章
C++如何生成随机数?
2023-07-03 14:34:04 深夜i     15     0
C++ 随机数 生成

C++中生成随机数的方法有很多种,下面介绍几种常见的方法。

1. 使用rand()函数

rand()函数是cstdlib库中的一个随机数生成函数,可以用于生成伪随机数。为了确保每次程序运行时生成的随机数不同,通常需要使用srand()函数来设置rand()函数的种子。

以下是一个简单的生成随机数的例子:

#include <iostream>
#include <cstdlib>
#include <ctime>
int main() {
  srand(time(NULL));
  int randomNumber = rand() % 100 + 1;
  std::cout << "随机数: " << randomNumber << std::endl;
  return 0;
}

上面的代码会生成一个1~100之间的随机整数,并将其输出到控制台中。

2. 使用C++11的随机数库

C++11引入了一个新的随机数库,可以生成更加高质量的随机数。使用这个库的方法包括以下几步:

#include <iostream>
#include <random>
int main() {
  std::random_device rd; // 获取种子
  std::mt19937 gen(rd()); // 设置随机数生成器,使用Mersenne Twister算法
  std::uniform_int_distribution<> dis(1, 100); // 设置随机数分布范围
  int randomNumber = dis(gen); // 生成随机数
  std::cout << "随机数: " << randomNumber << std::endl;
  return 0;
}

上面的代码会生成一个1~100之间的随机整数,并将其输出到控制台中。由于使用的是真正随机的种子,因此生成的随机数更加高质量。

总结

以上介绍了两种在C++中生成随机数的方法,其中使用C++11的随机数库能够生成更加高质量的随机数,建议在实际使用中使用该方法。

  
  

评论区