rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。
#include<stdlib.h> //rand()
1. 产生+-范围的随机数的方法:
-b ~ +b
rand_ = rand()%(2*b) - b;
2. 浮点随机数的产生方式
#include <math.h>
fmod(rand(), 2*b) - b;
3. 在循环产生随机数时,一定要设置随机种子
#include <time.h>
srand(time(NULL)); // 等价于srand(time(0))
4. 注意取余数时:精度低或者有效位小数少,重复率高
如: a =12.3 b=0.30
发现循环50次:(效果与b=0.3000一样,因为两者有效位一致)
0.1
0.1
-0.3
0.1
-0.0999999
0.1
0.1
-0.3
-0.3
0.1
-0.1
0.1
-0.1
0.1
-0.0999999
0.1
-0.3
-0.3
0.1
0.1
-0.1
-0.1
-0.3
-0.3
-0.1
-0.1
-0.1
0.1
0.1
0.1
-0.1
-0.3
-0.3
-0.3
-0.0999999
-0.3
0.1
0.1
0.1
0.1
-0.3
-0.3
-0.3
-0.0999999
-0.1
0.1