请教:c中random()函数的用法

wlzxgdut 2003-05-06 06:09:00
同上
...全文
327 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
snipersu 2003-05-09
先randomize();
在random();
回复
yizhenfeng 2003-05-09

rand()产生的是伪随即数, 可以用srand来实现随机效果。
不过srand在产生随机数之前要给他播种,你也可以调用系统时间来实现自动播种。

以下是样例:

C++描述:

#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>

int main()
{
unsigned seed;

cout << "Enter seed: ";
cin >> seed;
srand(seed);

for (int i = 1; i <= 10; i++)
{
cout << setw(10) << 1 + rand() % 6;

if (i % 5 == 0)
{
cout << endl;
}
}
return 0;
}

C语言类似。

回复
feiwolf28 2003-05-09
firming(detory),你给他回答的这个问题是MFC里的标准答案你是复制下来的吧
其实我觉得你问的问题是TURBOC2上的RANDOM()是不是,
RANDOM()不用初始化,只要调用它就可以了,
例如:
RANDOM(50);
返回的是一个50以内的随机数;
回复
firming 2003-05-07
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

void main( void )
{
int i;

/* Seed the random-number generator with current time so that
* the numbers will be different every time we run.
*/
srand( (unsigned)time( NULL ) );

/* Display 10 numbers. */
for( i = 0; i < 10;i++ )
printf( " %6d\n", rand() );
}
在使用rand()之前,必须用srand()来设置种子数,否则的话,rand()得到的是伪随机数
回复
nbqiulei 2003-05-06
用scrand()设置种子数,可以用系统时钟time()来设置,rand()得到随机数。
回复
相关推荐
发帖
工具平台和程序库
创建于2007-09-28

2.4w+

社区成员

C/C++ 工具平台和程序库
申请成为版主
帖子事件
创建了帖子
2003-05-06 06:09
社区公告
暂无公告