全国咨询/投诉热线:400-618-4000

C语言如何获取随机数?【C++培训】

更新时间:2020年04月21日14时02分 来源:传智播客 浏览次数:

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

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

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

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

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

1. 设置随机数种子。

2. 获得随机数。

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

srand 函数用法

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

C++随机数1


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

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

C++随机数2

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


rand 函数使用

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

C++随机数3


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

C++随机数4


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

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

随机数使用案例

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

C++随机数5


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

猜你喜欢:

计算机语言有哪几大类?

javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

uids

北京校区

    14天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    8天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    0天免费试学

    基础班入门课程限时免费

    申请试学名额

    12天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    10天免费试学

    基础班入门课程限时免费

    申请试学名额