首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-06-25 
随机数产生问题,按说很简单,求认证如下代码,产生随机数,此时随机数产生无问题,int main(int argc, char* a

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


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))这样设定随机数种子。

热点排行