主题:谁可以帮我详细的解释一下c语言里函数rand()和srand()的用法
title
[专家分:0] 发布于 2003-02-19 17:47:00
谁可以帮我详细的解释一下c语言里函数rand()和srand()的用法
我不太明白这两个函数~~~~~~~谢谢各位大虾了
回复列表 (共8个回复)
沙发
vrace [专家分:3590] 发布于 2003-02-19 18:04:00
[font=Tahoma]srand 和 rand 应该组和使用。一般来说,srand 是对 rand 进行设置。比如:
srand((UINT)GetCurrentTime());
int x = rand() % 100;
//生成 0 到 100 之间的随机数。[/font]
板凳
cache2002 [专家分:30] 发布于 2003-02-20 08:24:00
在库文件里找,网上可以下载一下,有所有函数的使用说明,按字母排列的,
3 楼
lanjingquan [专家分:510] 发布于 2003-02-21 13:30:00
srand()
是用来初始化随机种子数的,因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的,式子如下 rand = rand*const_1 + c_var;srand函数就是给它的第一个rand值。
用 int x = rand() % 100;来生成 0 到 100 之间的随机数这种方法是不或取的,比较好的做法是: j=(int)(n*rand()/(RAND_MAX+1.0)) // 产生一个0到n之间的随机数
今天就讲这么多了,大家有什么再补充,:)
4 楼
ssdlh [专家分:0] 发布于 2003-02-23 19:44:00
rand(void)用于产生一个伪随机unsigned int 整数。srand(seed)用于给rand()函数设定种子。
5 楼
title [专家分:0] 发布于 2003-02-24 15:24:00
哦~~~~~原来是这样啊~~~~~太谢谢你们了~~~
终于让我反映过来了
呵呵~~~~!
6 楼
tnt_0 [专家分:0] 发布于 2003-04-13 12:34:00
我想请教的一点是:如果用上面lanjingquan兄所说的方法输入随机数,其所需的头文件"stdlib.h"是否得改一改或是把它去掉呢?
7 楼
wuwen_19 [专家分:0] 发布于 2003-04-23 18:56:00
为什么去掉"stdlib.h"啊?
8 楼
Little Jimmy [专家分:30] 发布于 2003-04-25 09:11:00
cache2002:你说的库函数哪里有得下载?
我来回复