前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言_随机数

C语言_随机数

作者头像
From Zero
发布2021-02-22 11:15:47
2.4K0
发布2021-02-22 11:15:47
举报
文章被收录于专栏:C语言C语言

C语言_随机数

0.引言

随机数的生成在一个令人感兴趣的领域——模拟与电子游戏 应用广泛。如何生成随机数是C语言中一个重要的知识内容。

1.库函数rand()

头文件:

功能:将产生一个在0到RAND_MAX之间的整数,RAND_MAX一般不小于32767.

​ (我们暂时假设得到每一个整数的概率相等)

2.rand()%n (比例缩放)

n称为比例因子。

功能:产生 0 ~(n - 1)之间的整数。

p.s.为了得到我们需要的范围,通常在其后加m,m为范围起始数,n做范围大小

格式:

代码语言:javascript
复制
x = rand() % n + m;

3.真正的随机

我们发现,rand()产生的随机数不是真正的随机,事实上,它产生的是伪随机数,只有每次重新运行程序才能产生不同的整数数列。

在这里,我们用srand(seed)来解决这个问题。

它需要一个unsigned类型参数作为“种子”,控制函数rand()在每次被调用时就产生不同的随机数列。

为了不需要每次调用重新写入一个新的种子,我们利用如下语句:

代码语言:javascript
复制
srand(time(NULL));

time函数的函数原型在头文件中给出,其功能是将返回的时钟值以字符串的形式表现,但NULL将屏蔽掉这个功能。计算机会自动读取它自己的时钟值来做种子,而时间是不断变化的,这就实现了真正的随机

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-01-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • C语言_随机数
    • 0.引言
      • 1.库函数rand()
        • 2.rand()%n (比例缩放)
          • 3.真正的随机
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档