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)
其他情况,以此类推,这里不作详细说明。
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)
其他情况,以此类推,这里不作详细说明。
相关文章推荐
- C语言,如何产生随机数(各种转载)
- C语言,如何产生随机数(各种转载)
- C语言,如何产生随机数(各种转载)
- C语言/C++中如何产生随机数
- C语言如何产生随机数
- 如何产生各种随机数
- C语言,如何产生随机数
- C语言中如何产生一个随机数及其原理。
- C语言产生各种随机数
- C语言中如何产生随机数
- C语言/C++中如何产生随机数
- ACM如何产生各种随机数
- 如何用c语言产生一定范围内的随机数?
- 如何产生各种随机数
- C语言/C++中如何产生随机数
- C语言/C++中如何产生随机数 详细出处参考:http://www.jb51.net/article/42065.htm
- 如何产生各种随机数
- C语言如何产生随机数
- C语言关于产生随机数文章转载两篇(一)
- C语言如何产生随机数