您的位置:首页 > 编程语言 > C语言/C++

C语言,如何产生随机数(各种转载)

2012-12-17 16:58 309 查看
源地址:http://blog.sina.com.cn/s/blog_574f9aa00100rkis.html

1. 基本函数

    在C语言中取随机数所需要的函数是:

int rand(void);

void srand (unsigned int n);

  包含stdlib.h头文件:#include <stdlib.h>

2. 使用方法

    rand()函数------返回0到RAND_MAX之间的伪随机数(pseudorandom)。RAND_MAX常量其值等于32767,或者更大。

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

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

{

   printf("%d ", rand()%10);

}

   每次运行都将输出:1 7 4 0 9 4 8 8 2 4

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

3. 注意事项

求一定范围内的随机数, 记住一个通用的公式:

    要取[a,b)之间的随机整数(包括a,但不包括b),使用:

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

伪随机浮点数。

    要取得0~1之间的浮点数,可以用:  

    rand() / (double)(RAND_MAX)

    如果想取更大范围的随机浮点数,比如0~100,可以采用如下方法:

    rand() /((double)(RAND_MAX)/100)

    其他情况,以此类推,这里不作详细说明。

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: