【C】随机数产生方法

###Date: 2018.5.11

============================================================

srand 初始随机数发生器 
rand 随机数发生器

注意 
在C++中,当srand中的参数相同(即随机数种子相同)时,则产生的伪随机数列也相同

关系: 
srand函数用于为rand函数产生随机数种子

使用: 
通常用time(NULL)作为srand函数的传入参数; 
当使用time(NULL)作为srand函数的传入参数时,rand函数则以时间作为随机数种子进而产生随机数

技巧 1: 
若要产生指定范围内的随机整数例如 [a, b) 则可以使用: a + rand() % (b - a) 表达式,也即为要产生 [a, b)范围内的随机整数,可以使用 a + rand() % n 表达式,其中 a 为起始值, n 为随机整数取值范围的大小即为 b - a 
技巧 1 解释: 
使用 rand() % n 产生的是 [0, n)之间的随机整数,则在此基础上进行改进,加上一个起始值 a 则产生随机整数的范围变为 [a, n + a),那么要产生[a, b)内的随机整数,则只需要将n变为 b - a 
技巧 2 : 
如要产生随机小数,直接将产生的随机整数除以相应次数的10,例:若产生3位的随机小数,则先产生随机整数,然后除以1000即可


参考:

https://blog.csdn.net/zl_130/article/details/52279054

https://blog.csdn.net/rookie_wei/article/details/38464733

https://blog.csdn.net/u010141928/article/details/70940616

原文地址:https://www.cnblogs.com/SoaringLee/p/10532497.html