21xrx.com
2024-09-19 09:40:15 Thursday
登录
文章检索 我的文章 写文章
C++随机数生成代码
2023-07-05 04:12:04 深夜i     --     --
C++ 随机数 生成 代码 编程

C++是一门广泛使用的编程语言,可用于开发许多类型的应用程序。在编写C++应用程序时,生成随机数是重要的功能之一。在本文中,我们将介绍几种C++中生成随机数的方法。

1. 使用rand()函数

rand()是C标准库中用于生成随机数的函数。该函数返回一个范围在0到RAND_MAX之间的伪随机整数。要生成随机数,请在代码中包含 头文件:

#include

然后使用srand()函数设置随机数种子,并使用rand()函数生成随机数。下面是一个使用rand()函数生成随机数的示例代码:

#include

#include

using namespace std;

int main() {

 srand(time(NULL)); // 设置随机数种子

 int random_number = rand() % 100; // 生成0到99之间的随机数

 cout << "Random number: " << random_number << endl;

 return 0;

}

2. 使用C++ 11中的random库

C++ 11中引入了一个新的 头文件,该头文件包含多个类和函数,用于生成真正的随机数。与rand()函数不同,这些函数可以生成更高质量的随机数,因为它们使用更复杂的算法。

下面是一个使用 头文件中的mt19937引擎生成随机数的示例代码:

#include

#include

using namespace std;

int main() {

 random_device rd; // 硬件随机数生成器

 mt19937 mt(rd()); // 梅森旋转算法生成器

 uniform_int_distribution dist(0, 99); // 生成0到99之间的整数

 int random_number = dist(mt); // 生成随机数

 cout << "Random number: " << random_number << endl;

 return 0;

}

3. 使用boost库

Boost是一个开源的C++库,包含许多实用的函数和类,可用于增强C++应用程序的功能。其中之一是 库,该库包含多个随机数生成器和分布函数。

下面是一个使用boost库中的随机数生成器和分布函数生成随机数的示例代码:

#include

#include

using namespace std;

int main() {

 boost::random::random_device rd; // 硬件随机数生成器

 boost::random::mt19937 mt(rd()); // 梅森旋转算法生成器

 boost::random::uniform_int_distribution<> dist(0, 99); // 生成0到99之间的整数

 int random_number = dist(mt); // 生成随机数

 cout << "Random number: " << random_number << endl;

 return 0;

}

总结

生成随机数是C++应用程序中常见的任务之一。我们可以使用 或boost库中的函数和类来生成随机数。不同的方法可能适用于不同的情况,程序员应该选择最适合其需要的方法。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复