C语言,如何产生随机数:

 

  1. 基本函数

在C中取随机数所需要对函数是:

int rand ( void );

void srand ( unsigned int n);

 

备注:必须包含该头文件#include <stdlib.h>

 

  1. 使用方法

rand()函数返回0到RAND_MAX之间的伪随机数(pseudorandom)。RAND_MAX常量被定义在stdlib.h头文件中。其值等于32767,或者更大

srand()函数使用自变量n作为种子,用来初始化随机数产生器。只要把相同的种子传入srand(),然后调用rand()时,就会产生相同的随机数序列。因此,我们可以把时间作为srand()函数的种子,就可以避免重复的发生。如果,调用rand()之前没有先调用srand(),就和事先调用srand(1)所产生的结果一样。

(1)                                              (2)

int i;                                            int i;

for(i=0;i<10;i++)                                                       srand(1);

printf(“%d\t”,rand()%10);                           for(i=0;i<10;i++)

运行结果:1 7 4 0 9 4 8 8 2 4                       printf(“%d\t”,rand()%10);

                                                                                    运行结果:同(1)

 

(3)                                       (2)

int i;                                                                             int i;

srand (5)                                                                       srand((unsigned)time(NULL));

for(i=0;i<10;i++)                                                        for(i=0;i<10;i++)

printf(“%d\t”,rand()%10);                           printf(“%d\t”,rand()%10);

运行结果:4 3 5 9 0 0 7 9 2 0                       运行结果:

该程序每次运行结果都不一样,因为每次启动程序的时间都不同。另外需要注意的是,使用time()函数前必须包含头文件time.h。

 

注意事项:

求一定范围内对随机数;

如果去[0,10)之间对随机整数,需将rand()的返回值与10求模。

 

若是求[a,b),则使用:

(rand()%(b-a))+a;

posted on 2013-07-17 21:49  孤独的旅行  阅读(291)  评论(0编辑  收藏  举报