C++ 一秒内多个随机数

怎么样能在一秒钟之内产生多个随机数?因为实在等不了每一步都要延时好几秒钟。。。srand((unsigned)time(NULL));fx=rand()%19+1;sra... 怎么样能在一秒钟之内产生多个随机数?因为实在等不了每一步都要延时好几秒钟。。。
srand((unsigned)time(NULL));fx=rand()%19+1;
srand((unsigned)time(NULL));fy=rand()%19+3;
srand((unsigned)time(NULL));mx=rand()%19+1;
srand((unsigned)time(NULL));my=rand()%19+3;
这个方法不行,因为这里面的rand()%19是一样的。不论是 srand((unsigned)time(NULL));还是srand()((unsigned)time(0));

请用比较简单的方式说出来,因为我是一个初学者。。。。
展开
 我来答
bhtzu
2013-10-24 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4201万
展开全部

必须要说,所谓粗旦随机数哪凳厅,多了也可能重复。

这个程序15毫秒一个随机数李隐,基本不重复了。

Arthurzss
2013-10-24 · TA获得超过1661个赞
知道小有建树答主
回答量:496
采纳率:100%
帮助的人:240万
展开全部

随机槐裂种子产生一次就行,所以srand((unsigned)time(NULL));只需要一次

试试下面的,肯定都是随机的。

#include <stdio.h>
#include <stdlib.h>
#include <宏运time.h>

int main()
{
 蔽明梁   int fx,fy,mx,my;
    srand((unsigned int)time(NULL));
    fx=rand()%19+1;
    fy=rand()%19+3;
    mx=rand()%19+1;
    my=rand()%19+3;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hj304huan
2013-10-24 · TA获得超过196个赞
知道小有建树答主
回答量:135
采纳率:0%
帮助的人:104万
展开全部
1、我们假设srand(N)后产生一个这样的随机数组
arr[] = {12,34,49,49,37,7,96,....}
然后你第一次调用宏老枯rand就得蔽洞到12,第二次调用就是34,第三次就是49.....

2、如果某时刻你再srand(N)(这里的N值和上面的N值一样),就会再重新生成这个数组,并且rand会重新从第一个开始取。。。

3、如果你的计算机处理器非常好,第二次srand((unsigned)time(NULL)); time的取值含搏很有可能跟第一次srand的time取值是一样的,所以造成取随机数一样。。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友730751689
2018-03-19 · 超过10用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:17.3万
展开全部
#include <stdio.h>
#include <time.h>
#include <stdlib.h>宴让 /* srand, rand */
int getRand0_9()
{
//取0~9的随机数闭宏。其他范围类似

srand (clock()+time(NULL));
int ret = rand()%10;
Sleep(5); //延时5毫秒,clock()的值不同晌态局
return ret;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式