C++中rand函数和srand函数

参考链接:https://blog.csdn.net/candyliuxj/article/details/4396666

注意:%为取余

1、rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。

2、如果你要产生0~99这100个整数中的一个随机整数,可以表达为:int num = rand() % 100; 

     这样,num的值就是一个0~99中的一个随机数了。

3、如果要产生1~100,则是这样:int num = rand() % 100 + 1;  

4、总结来说,可以表示为:int num = rand() % n +a;

     其中的a是起始值,n-1+a是终止值,n是整数的范围。

5、一般性:rand() % (b-a+1)+ a ;    就表示  a~b 之间的一个随机整数

6、若要产生0~1之间的小数,则可以先取得0~10的整数,然后均除以10即可得到“随机到十分位”的10个随机小数。

     若要得到“随机到百分位”的随机小数,则需要先得到0~100的10个整数,然后均除以100,其它情况依 此类推

	//生成N个元素的随机数组,每个元素元素的随机数返回为[rangeL,rangeR]
	int* generateRandArray(int n,int rangeL,int rangeR)
	{
		assert(rangeL<=rangeR);
		int *arr = new int[n];
		//利用当前的时间作为随机的种子,进行设置 包含#include
		srand(time(NULL));
		for (int i = 0; i < n; i++)
			arr[i] = rand() % (rangeR - rangeL + 1) ;


		return arr;
	}

 

你可能感兴趣的:(C++)