21xrx.com
2024-11-22 02:47:42 Friday
登录
文章检索 我的文章 写文章
C++生成随机数的方法及代码示例
2023-07-11 13:25:15 深夜i     --     --
C++ 生成随机数 方法 代码示例 RNG

C++作为一门高级编程语言,提供了许多生成随机数的方法。在本篇文章中,我们将讨论如何使用C++生成随机数,并提供一些简单的代码示例。

C++中生成随机数的方法:

1.使用rand()函数

rand()函数是C++中最常用的生成随机数的方法之一。该函数将返回一个范围在0至RAND_MAX之间的整数,其中RAND_MAX是C++标准库中提供的最大随机数。rand()函数的原理是根据先前的随机数生成一个新的随机数。

示例代码:


#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

int main()

{

 // 设置随机数种子

 srand((unsigned) time(0));

 

 // 生成10个随机数

 for(int i=0; i<10; i++){

  cout << rand() << endl;

 }

 return 0;

}

2.使用random_shuffle()函数

random_shuffle()函数是C++的STL库中提供的一种生成随机数的方法。该函数可以对一个数组或容器中的元素进行随机打乱,从而产生一个随机序列。

示例代码:


#include <iostream>

#include <algorithm>

#include <vector>

using namespace std;

int main()

{

 // 初始化vector数组

 vector<int> v1;

 

 // 打乱vector数组中的元素

 random_shuffle(v.begin(), v.end());

 

 // 输出打乱后的vector数组

 for(auto i:v)

  cout << i << endl;

 

 return 0;

}

3.使用uniform_int_distribution<>函数

uniform_int_distribution<>函数是C++的随机数库中提供的一种生成随机整数的方法。该函数可以指定生成随机整数的范围,从而产生一个随机数。

示例代码:


#include <iostream>

#include <random>

using namespace std;

int main()

{

 // 设置随机数种子

 random_device rd;

 

 // 设置uniform_int_distribution的范围和参数

 uniform_int_distribution<> dist(1, 6);

 

 // 生成10个范围在1至6之间的随机数

 for(int i=0; i<10; i++){

  cout << dist(rd) << endl;

 }

 return 0;

}

总结:

本文介绍了C++生成随机数的方法及代码示例,包括使用rand()函数、random_shuffle()函数和uniform_int_distribution<>函数。在使用这些方法时,请根据需要选择最合适的方法。我们还提供了代码示例,以便读者更好地理解和实践这些方法。

  
  

评论区

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