读书人

随机数产生有关问题按说很简单求认

发布时间: 2013-06-25 23:45:41 作者: rapoo

随机数产生问题,按说很简单,求认证
如下代码,产生随机数,此时随机数产生无问题,


int main(int argc, char* argv[])
{
randomize(); //获取随机数种子
for(int j=0;j<4;j++){
for(int i=0;i<10;i++)
printf("Random number in the 0-99 range: %d\n", random (10));
printf("\nj=%d=========\n",j) ;
}
getchar();
}



但是将randomize(); 放在 for(int j=0;j<4;j++)里面,随机数就具备规律性了,如下:

for(int j=0;j<4;j++){
randomize(); //获取随机数种子
for(int i=0;i<10;i++)
printf("Random number in the 0-99 range: %d\n", random (10));
printf("\nj=%d=========\n",j) ;
}


难道 randomize(); 获取的值是一样的???



[解决办法]
http://www.cplusplus.com/reference/random/
[解决办法]
四次循环,每次都种下相同的“种子”,长出来的数字就一样了。

[解决办法]
初始化的时候先srand((unsigned int)(time(NULL))这样设定随机数种子。

读书人网 >C++

热点推荐