c++随机数产生函数
c++随机数产生函数 c++随机数产生函数是生成随机数的函数,主要包括rand()和srand()两个函数。rand()函数用来产生随机数,而srand()函数用来设置随机数种子。 rand()函数 rand()函数用来产生随机数,函数原型为`int rand(void)。`rand()函数会返回一个随机整数值,范围在0至RAND_MAX之间。RAND_MAX的范围至少是32767(int),即双字节(16位数)。如果使用unsigned int,双字节是65535,四字节是4294967295的整数范围。 rand()函数的实现是基于线性同余法的,但是它不是真正的随机数,只是因为其周期特别长,所以在一定范围内可以看作是随机的。rand()函数会返回一个随机数值,但是在调用rand()函数之前,必须先使用srand()函数设置随机数种子。如果没有设置随机数种子,rand()函数将自动设置随机数种子为1。rand()函数产生的随机数是假随机数字,每次执行时是相同的。若要生成不同的随机数,需要使用不同的值来初始化它。 srand()函数 srand()函数用来设置rand()函数产生随机数时的随机数种子,函数原型为`void srand(unsigned int seed)。`srand()函数的参数seed必须是一个整数,通常可以使用geypid()或time(0)的返回值作为种子。如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。 使用rand()和srand()函数的注意事项 在使用rand()和srand()函数时,需要注意以下几点: * 在调用rand()函数之前,必须先使用srand()函数设置随机数种子。 * srand()函数应该放在循环外面或者是循环调用的外面,否则会得到相同的数字。 * rand()函数产生的随机数是假随机数字,每次执行时是相同的。若要生成不同的随机数,需要使用不同的值来初始化它。 范例 以下是一个使用rand()和srand()函数生成随机数的范例: ```c #include <stdlib.h> #include <time.h> int main() { int i, j; srand((unsigned)time(NULL)); for (i = 0; i < 10; i++) { j = 1 + (int)(10.0 * rand() / (RAND_MAX + 1.0)); printf("%d ", j); } return 0; } ``` 这个范例使用srand()函数设置随机数种子,然后使用rand()函数生成10个介于1到10之间的随机数。
- lishucx2012-09-10挺好了,可以用
- 粉丝: 2
- 资源: 9
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助