srand(time(0))
似乎没有正确地播种rand()
,生成的第一个数字总是相同的。第一个rand()在srand(time(0))后生成相同的值
这是在OS X上运行,有没有我的设置或我的代码有问题?我等了几秒钟才重新运行程序。第一个数字只在一天后增加,其余数字总是随机的。
#include<iostream>
using namespace std;
int main()
{
int Num1,Num2;
// seed the random number generator
srand((unsigned int)time(NULL));
Num1 = rand() %49 +1 ;
do {Num2 = rand() % 49 + 1;}
while(Num2 == Num1);
///Display Random Numbers
cout<<"Numbers are: "<<endl;
cout<<Num1<<" "<<Num2<<endl<<endl;
return 0;
}
在您的问题中无法找到任何特定的Xcode。删除了标签。 – 2014-12-04 18:25:10
在程序运行之间等待多久?只要我在两次运行之间等待至少一秒,我就会在Windows上得到不同的数字。 – 2014-12-04 18:27:58
您应该包含stdlib.h或cstdlib和time.h或ctime以确保您使用的函数的原型可见。 – 2014-12-04 18:28:53