学习笔记,欢迎交流:
rand函数
int rand (void);
功能:根据种子生成随机数(伪随机)
参数:void 即没有参数
返回值:生成的随机数
rand的随机是利用种子做计算生成的,这里说的“种子”在系统启动后就确定了,所以多次执行rand函数会发现随机数都是一样的并不随机,这时需要srand函数来设置种子。
srand函数
void srand (unsigned int seed);
功能:设定种子
参数:输入种子,常用系统时间time(NULL)作为参数输入
返回值:无
因为系统的时间是不断变化的,使用time()获取时间输入srand可以帮助我们生成随机数。
此时生成的随机数很大,如果像生成在某个区间的随机数可以采用取余的方式把过大的数映射回小区间:
比如,生成区间是16到85的随机数:
rand()%70+16
其中rand()%70
表示生成0~69之间的数
+16
表示将区间移到16~85
综上,随机数的生成如下
srand(time(NULL));//设定变化的种子
int ret = rand()%70+16;//产生16~85区间的随机数