用rand()和srand()产生皇冠体育365的方法皇冠体育

  用rand()和srand()产生皇冠体育的方法尽结

  规范库(被包罗于中)供两个僚佐生成皇冠体育的函数:?

  函数壹:int rand(void);

  从srand (seed)中指定的seed末了尾,前往壹个[seed, RAND_MAX(0x7fff))间的遂机整顿数。

  函数二:void srand(unsigned seed);

  参数seed是rand()的种儿子,用到来初始募化rand()的宗始值。

  却以认为rand()在每回被调用的时分,它会检查:

  1) 假设用户在此之前调用费过srand(seed),给seed指定了壹个值,这么它会己触动调用

  srand(seed)壹次到来初始募化它的宗始值。

  2) 假设用户在此之前没拥有拥有调用费过srand(seed),它会己触动调用srand(1)壹次。

  根据下面的第壹点我们却以得出产:

  1) 假设期望rand()在每回以次运转时产生的值邑不比样,必须给srand(seed)中的seed壹个变值,此雕刻个变值必须在每回以次运转时邑不比样(譬如到当前为止流动逝的时间)。

  2) 不然,假设给seed指定的是壹个定值,这么每回以次运转时rand()产生的值邑会壹样,固然此雕刻个值会是[seed, RAND_MAX(0x7fff))之间的壹个遂机得到的值。

  3) 假设在调用rand()之前没拥有拥有调用费过srand(seed),效实将和调用了srand(1)又调用rand()壹样(1亦壹个定值)。

  举几个例儿子,假定我们要得到0~6之间的遂机整顿数(不含6本身):

  例壹,不指定seed:

  for(int i=0;i<10;i++){?

  ran_num=rand() % 6;

  cout<

  }

  每回运转邑将输入:5 5 4 4 5 4 0 0 4 2

  例二,指定seed为定值1:

  srand(1);

  for(int i=0;i<10;i++){?

  ran_num=rand() % 6;

  cout<

  }

  每回运转邑将输入:5 5 4 4 5 4 0 0 4 2

  跟例儿子壹的结实完整顿壹样。

  例叁,指定seed为定值6:

  srand(6);

  for(int i=0;i<10;i++){?

  ran_num=rand() % 6;

  cout<

  }

  每回运转邑将输入:4 1 5 1 4 3 4 4 2 2

  遂机值亦在[0,6)之间,遂得的值跟srand(1)不一,条是每回运转的结实邑相反。

  例四,指定seed为以后体系流动逝了的时间(单位为秒):time_t time(0):

  #include

  //…

  srand((unsigned)time(0));

  for(int i=0;i<10;i++){?

  ran_num=rand() % 6;

  cout<

  }

  第壹次运转时输入:0 1 5 4 5 0 2 3 4 2

  第二次:3 2 3 0 3 5 5 2 2 3


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

本文作者2018-10-05 08:53
admin
上一篇:
中国足协官方网站末三轮发布时间:(12-28)
下一篇:
浙江出线解析:主战东京发布时间:(12-06)

精彩阅读

排行榜

迪恩微信公众号码

扫码微信公众号
给你想要与成长

牛叉体育最牛叉的体育门户
Copyright @ 2011-2017 Power by DedeCms