C语言么生成随机数 简单又实用的方法[亲测有效]

C语言么生成随机数 简单又实用的方法[亲测有效]我们制作一些东西的时候,经常会需要生成随机数,那么生成随机数最简单的方法就是使用rand生成的是伪随机数,为什么这样说呢。

欢迎大家来到IT世界,在知识的湖畔探索吧!

C语言么生成随机数 简单又实用的方法[亲测有效]

我们制作一些东西的时候,经常会需要生成随机数,那么生成随机数最简单的方法就是使用rand();它可以随机的产生 0 ~ rand_max 的随机数。rand_max 是一个很大的数字,我们一般的需要不可能超出它的范围。

但是其实rand()生成的是伪随机数,为什么这样说呢。看下面的代码。

#include <stdio.h>
#include <stdlib.h>
int main(){
 int a=rand();
 printf("%d\n",a);
 return 0;
}

欢迎大家来到IT世界,在知识的湖畔探索吧!

多运行几次会发现,得到的数是一样的。rand()是根据一个数按照某个公式推算出来的,这个数我们称之为“种子”,但是这个种子在系统启动之后就是一个定值,我们需要用 srand() 来进行播种,即在int a前加一句:

srand((unsigned)time(NULL)); //这里利用时间进行播种,需要time.h

这样就可以得出不同的随机数了。那么前面说得出的随机数会是 0 ~ rand_max,那么我们只要一个小范围的随机数怎么办?,比如0~50。这时候需要用到取余:rand()%51; 任何数取余51都不会得出大于等于51的数。那么自然得出的会是0~50点随机数了。

那么假如是10~50呢?rand()%51会得出0~50的随机数。那么再加上10,会得出10~60的随机数,这时候超过了10~50这个范围,所以应该:

rand()%41+10;

如果有想学习或者再学习C语言的同学可以关注私聊发送“C语言”我会给大家提供 交流环境,学习资料和指导。那么文章到这里就结束了。

如果觉得我文章还可以的,可以关注,收藏,转发,评论。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/18370.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信