C++ 产生随机数 (Dev开发环境)

 以前写C++代码直接使用Clion ,最近因为比赛,所以换成了Dev-C++,突然发现一些以前写过代码,在Dev-C++报错。

今天主要说一下我在Dev开发环境下,写C++产生随机数的代码。

 1. 首先需要使用的库

#include
#include

主要使用里面的srand、rand、time 三个函数

1.1srand函数

它需要提供一个种子,这个种子会对应一个随机数,如果使用相同的种子,后面使用rand函数产生的随机数

都是一样的,为了防止随机数每次重复,我们常常使用系统时间来初始化,即使用ctime库中的time函数来获得

系统时间,它的返回值为从00:00:00 GMT,January 1,1970到现在所持续的秒数,将值传给srand函数

我们通常使用srand(time(NULL))

1.2 rand函数

产生一个伪随机数(本质上是根据srand初始的随机数种子),范围为0-RAND_MAX,

直接使用rand()%n获得的是从0~n-1中的任意一个数

比如:使用rand()%10 得到的随机数0~9

同时我们可以通过在后面+z来进行偏移进行求不同范围内的随机数

比如:如果想得到1~10可以通过使用 rand()%10+1, 相当于你得出来的结果+1得出来最低的是0+1=1

,得到最高的是9+1=10

总结一下n代表的是种类,或者是可能性,产生随机数有多少种可能。%10就代表产生的随机数有10种可能

z的作用是进行偏移,提供给你一个基址,z=10就代表你从10开始,最终的范围是z~n+z-1

2. 例子给定一个范围[rangL,rangR] 在此范围生成n个


#include
#include
#include
using namespace std;
int* generateRandomArry(int n, int rangL, int rangR){
	
	int *arr = new int[n];
	srand((unsigned)time(NULL));
	for(int i=0; i




你可能感兴趣的:(C++,Dev,算法)