【发布时间】:2014-12-04 18:14:57
【问题描述】:
srand(time(0)) 似乎没有正确播种rand(),生成的第一个数字始终相同。
这是在 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 特定内容。删除了标签。
-
程序运行之间您要等待多长时间?只要我在两次运行之间等待至少一秒钟,我就会在 Windows 上得到不同的数字。
-
您应该包含 stdlib.h 或 cstdlib 和 time.h 或 ctime 以确保您正在使用的函数的原型是可见的。
-
我确实等待了几秒钟以重新运行该程序。第一个数字仅在一天后增加,其余数字一如既往地随机。