为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

c语言中以时间为种子,产生随机数的函数

2017-12-29 2页 doc 11KB 171阅读

用户头像

is_731942

暂无简介

举报
c语言中以时间为种子,产生随机数的函数c语言中以时间为种子,产生随机数的函数 srand((unsigned)time(NULL) +++++++++++++++++++++++++++++++++++++++++++++++++ 以时间为种子,其实再产生随机数的函数中都会加,这样可以使得取得随机数更有代表性,否则取出来的数可能是服从正态分布的~ 一句标准格式而已,需要记的~ ++++++++++++++++++++++++++++++++ 我们知道在产生随机数的时候,需要一个叫做种子seed的值作为产生随机数算法的初始值。 而C/C++库中的srand...
c语言中以时间为种子,产生随机数的函数
c语言中以时间为种子,产生随机数的函数 srand((unsigned)time(NULL) +++++++++++++++++++++++++++++++++++++++++++++++++ 以时间为种子,其实再产生随机数的函数中都会加,这样可以使得取得随机数更有代性,否则取出来的数可能是服从正态分布的~ 一句标准格式而已,需要记的~ ++++++++++++++++++++++++++++++++ 我们知道在产生随机数的时候,需要一个叫做种子seed的值作为产生随机数算法的初始值。 而C/C++库中的srand就是为这一次的随机数生成设置种子。s代表的就是seed的意思。 time_t time(time_t *time);该函数返回自计算机计时的某个时刻起到现在所过去的秒数。 一般是返回自1970年1月1日00:00:00以来,到调用函数的时刻所累积的秒数。 所以综上所述: srand((unsigned)time(NULL)); 这语句的含义就是以自1970年1月1日00:00:00以来,到调用函数的时刻所累积的秒数作为 产生随机数算法的种子seed。 没有语句会对程序产生什么影响: 如果在程序运行时没有自主设置种子的话,用函数rand产生的随机数序列会是一样的。 而用srand设置随机数种子后,可能产生不同的随机序列(概率很大)。 之所以说以很大的概率产生不同的随机数序列,是因为从上面的解释可以看到, srand是以秒数为单位的。一旦程序多次运行的时间间隔少于1s。那么srand设置种子也没有什么用处。所以库函数产生随机数有一定的缺陷。不知道我解释明白了没有~已赞同14| 评论(1)
/
本文档为【c语言中以时间为种子,产生随机数的函数】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索