c++ 产生随机数的方法详细解说

我是c++新手,请从入门角度简单介绍,包括语法规则... 我是c++新手,请从入门角度简单介绍,包括语法规则 展开
 我来答
妈妈之悦冉
2020-04-19 · TA获得超过3657个赞
知道大有可为答主
回答量:3124
采纳率:34%
帮助的人:191万
展开全部
随机数是随机的数,但计算机不可能产生随机数,计算机根据你的输入,再跟一个算法就产生一个特定的序列.
只要你给计算机一个相同的数,计算机返回的就是一个特定的数,所以这样的数叫做伪随机数仔携弊.
而srand(unsigned
int
par);这就是原型,这就是你给计算机的数.计算机通过rand()返回一个序列,假设是{2,6,8,51....},只要给相同的参数,
这个序列是特定的.int
a=rand();这时候a=2;所以可以得出只要每次给计算机不同的数也就是srand(unsigned
int
pra)也就是给pra是不同的值,我们就可以认为这个序列是随机的.要想给不同的值,最简单的方法是把系统时间转化成unsigned给计算机就可以了,因为每时每刻时间都是不同的.这里要注意,时间是秒为单位,也就是说你如果srand((unsigned)time(NULL));
只是在每一秒内取随rand()的话念族,因为时间还没来得及变,它还不是随机的.
那要取到1-9内的随机数应该是这样的:rand()%9+1
+1的目的是给9求余只能产生0-8,加1正好就1-9.
随机数知道隐碧这么多就够了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式