为了账号安全,请及时绑定邮箱和手机立即绑定

C语言随机数

标签:
Html5

1. 随机数概述

编写程序过程中,我们经常需要产生一些随机数。随机数在程序中分为两种:

1. 真随机数:完全没有规则,无法预测接下来要产生的数。

2. 伪随机数:通过一些预先设定好的规则产生不能简单预测的数。

当然,我们在程序中使用的随机数主要是伪随机,一般场景下,伪随机数能够满足我们大部分的场景了。本篇文章给大家介绍下,如何在C语言中产生一个伪随机数。

伪随机数在C语言中产生分为两个步骤:

1. 设置随机数种子。

2. 获得随机数。

设置随机数种子和获得随机数,我们需要使用两个函数。srand 函数 和 rand 函数。使用这两个函数需要导入头文件:#include <stdlib.h>

https://img1.sycdn.imooc.com/a1a9fd68084f752310240697.jpg


2. srand 函数用法

设置随机数种子时,我们一般会用时间值作为种子。这是因为时间值一直都在变化。我们使用 time 函数获得当前时间值,使用该函数需要先导入头文件 #include <time.h>。

https://img1.sycdn.imooc.com/f5cdd868084f752306320146.jpg


打印出来的是一串数字,并不是我们常见的时间格式。Time 函数主要用于获得从 1970 年 1 月 1日0时 0分0秒到现在经历的秒数。时间一直在变,所以该函数可作为一直在改变的随机数种子。

所以,srand 函数的一个常用的用法就是:

https://img1.sycdn.imooc.com/6f0a5568084f752306360171.jpg


srand 的要求的参数是 unsigned int,所以需要将 time 函数返回的结果强制转换成 unsigned int 类型。

3. rand 函数使用

设置好随机数种子,rand 函数就可以根据该值来产生随机数了。在 windows 的 vs 2019 平台上,默认该函数会产生一个 0 到 32767 之间的随机数。演示代码如下:

https://img1.sycdn.imooc.com/46d75668084f752306370123.jpg


但是实际的场景是,我们希望产生一个指定范围内的随机数。此时,我们可以让随机产生数进行取余运算符,折算成指定范围。例如:我们要产生 1-100之间的随机数,可进行如下代码编写:

https://img1.sycdn.imooc.com/87d20468084f752406320214.jpg


1. rand() % 100 会产生一个 0-99之间的数字。

2. rand() % 100 + 1 会产生一个 1-100之间的数字、

4. 随机数使用案例

我们下面做一个练习,创建一个包含10个元素的数组,使用 for 循环产生 10 个 1-10之间的随机数存储到数组中,并打印输出。

https://img1.sycdn.imooc.com/e6ef9768084f752406400309.jpg

                                                 老富贵论坛

注意:随机数种子设置一次即可。


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消