为了账号安全,请及时绑定邮箱和手机立即绑定

如何在C ++循环中生成不同的随机数?

如何在C ++循环中生成不同的随机数?

C++
互换的青春 2019-07-24 20:18:30
如何在C ++循环中生成不同的随机数?每次循环运行时是否可以生成不同的随机数。例如,我有:for (int t=0;t<10;t++){     int random_x;     srand ( time(NULL) );     random_x = rand() % 100;     cout<<"\nRandom X = "<<random_x;}但问题是,它每次都会生成相同的随机数。每次循环运行都可以生成不同的随机数吗?是否有可能重置随机数初始化?
查看完整描述

3 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

不要srand在循环内使用,只使用一次,例如在开始时main()。而且srand()正是你如何重置这个。


查看完整回答
反对 回复 2019-07-24
?
手掌心

TA贡献1942条经验 获得超3个赞

您每次都获得相同的随机数,因为您在循环内设置种子。即使你正在使用time()它,它每秒只会改变一次,所以如果你的循环在一秒内完成(它很可能会),你每次都会获得相同的种子值,并且相同的初始随机数。

srand()呼叫移出循环(并在应用程序的开头只调用一次),你应该得到随机的“随机”数字。


查看完整回答
反对 回复 2019-07-24
  • 3 回答
  • 0 关注
  • 1276 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信