C++的rand()函数详细用法

这篇具有很好参考价值的文章主要介绍了C++的rand()函数详细用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

rand()函数是C++标准库中的一个伪随机数生成器,它返回一个在0到RAND_MAX之间的整数,其中RAND_MAX是一个常量,通常定义为32767。由于rand()函数生成的随机数序列是固定的,因此在使用rand()函数之前,通常需要调用srand()函数初始化随机数种子。

srand()函数接受一个无符号整数作为参数,用于初始化随机数种子。通常可以使用当前时间作为随机数种子,如下所示:

#include <cstdlib>
#include <ctime>

int main() {
    srand(time(NULL)); // 使用当前时间作为随机数种子
    int x = rand(); // 生成一个随机数
    return 0;
}

上面的代码中,srand(time(NULL))调用了srand()函数初始化随机数种子。time(NULL)返回当前时间,因此每次运行程序时,随机数种子都不同。这样就可以生成不同的随机数序列。

如果要生成一个指定范围内的随机整数,可以使用取模运算符(%)将rand()函数的返回值对范围大小取模。例如,要生成一个0到99之间的随机整数,可以这样写:

int x = rand() % 100;

上面的代码中,rand() % 100调用了rand()函数生成一个随机整数,并对100取模,得到一个0到99之间的随机整数。

如果要生成一个指定范围内的随机浮点数,可以这样写:

double x = (double)rand() / RAND_MAX * (max - min) + min;

其中,minmax分别表示随机数的最小值和最大值。上面的代码中,(double)rand() / RAND_MAX * (max - min) + min调用了rand()函数生成一个随机整数,并将其转换为浮点数。然后除以RAND_MAX得到一个0到1之间的随机浮点数。最后乘以(max - min)并加上min得到一个在指定范围内的随机浮点数。

这就是rand()函数和srand()函数的详细用法。文章来源地址https://www.toymoban.com/news/detail-607168.html

到了这里,关于C++的rand()函数详细用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++ Sleep函数详细介绍与用法

    这个函数就是让程序挂起一段时间,或者说是让程序暂停一段时间。 这个函数需要头文件: 如果是Linux的话则需要 如果是Windows的话则需要 用法: 就是在Sleep()中写上要暂停的毫秒数。 注意: Sleep()中的第一个字母S是大写。 并且1000毫秒=1秒 样例: 它们都用来进行线程控制

    2024年02月14日
    浏览(49)
  • C++ system()函数的常用用法 (史上最详细)

    目录 一.推荐:     1. system(\\\"pause\\\")     2. system(\\\"color *\\\")     3.system(\\\"title *\\\")     4. system(\\\"cls\\\") 二.文件操作:     1. system(\\\"start *\\\")     2. system(\\\"del *\\\")     3. system(\\\"copy A B\\\")     4. system(\\\"move A B\\\") 三.系统操作     1. 关机,重启,睡眠     2. 日期/时间     3. task     1. system(\\\"pause\\\"

    2024年02月12日
    浏览(43)
  • 【C++】做一个飞机空战小游戏(八)——生成敌方炮弹(rand()和srand()函数应用)

     [导读]本系列博文内容链接如下: 【C++】做一个飞机空战小游戏(一)——使用getch()函数获得键盘码值 【C++】做一个飞机空战小游戏(二)——利用getch()函数实现键盘控制单个字符移动 【C++】做一个飞机空战小游戏(三)——getch()函数控制任意造型飞机图标移动 【C++】做一个飞

    2024年02月12日
    浏览(64)
  • 【C++】STL 算法 ⑪ ( 函数适配器嵌套用法 | modulus 函数对象 - 取模运算 | std::count_if 函数原型 | std::not1 函数原型 )

    在 functional 头文件 中 , 预定义了 modulus 函数对象 , 这是一个 二元函数对象 , 在该函数对象类中 , 重写了 函数调用操作符 函数 operator() , 该 预定义函数对象 代码如下 : 该函数对象 定义了 模板参数 template class _Ty = void , _Ty 泛型的默认参数是 void , 即 如果 不指定 模板参数 ,

    2024年01月17日
    浏览(45)
  • C++ freopen函数用法详解

    在OI里赛制中 如果没有文件操作或文件操作被注释,等待着你的就是 爆零 的命运。C和C++的文件操作,一般是用fopen或fstream,我们用 freopen ,即文件重定向。它的用法其实也挺简单。 参数: _Filename :要打开的文件名。 _Mode :打开方式,同fopen。 _File :一个FILE型指针,可以

    2024年02月06日
    浏览(61)
  • C++ sort()函数具体用法

    sort() 函数可以将一个容器或者数组的值进行排序,还可以自定义排序方式。 sort() 是基于头文件 algorithm 库下的一个函数,所以要调用 sort() ,就需要添加头文件。 一.正常排序 我们可以通过写 我们就可以将 arr 中从开始的元素到第5个元素按从小到大的顺序进行排序。 二.排序

    2024年02月06日
    浏览(41)
  • C++中memset函数的用法

    memset是 C++ 标准库中的一个函数,用于将内存块中的所有位都设置为指定的值。 它的原型如下: 这个函数接受三个参数: ptr  是指向要设置的内存区域的指针。 value  是要设置的值。这个值被转换为  unsigned char  类型,然后写入每个字节。 num  是要设置的字节数。 memset 函

    2024年02月07日
    浏览(39)
  • C++中的vector的详细用法

    目录 C++中的vector的详细用法 一、vector的介绍 二、存储类型 三、函数 四、vector二维数组两种方法 五、vector中find()用法 六、vector的访问 七、vector中insert()函数增加元素操作 八、vector中erase()函数删除元素操作 头文件:#include vector 向量(Vector)是一个封装了动态大小数组的顺

    2024年02月06日
    浏览(42)
  • 伪随机生成器(rand函数),随机数种子(srand函数)详细解读与分析:

    a.生成随机数; b.生成0~100以内的随机数 c.随机数的连续输出及其连续输出情况讲解与分析 首先我们来看一下rand函数(伪随机数生成器):   rand函数,即伪随机数生成器,该函数返回类型为整型,没有参数,即产生一个在(0-rand_max(十六进制的ox7ffff转化为整数即32767)的一个

    2024年02月11日
    浏览(50)
  • C++声明extern变量和extern函数的用法

    目录  一、 声明extern变量 1、 如何声明 2、在何处声明 3、在何处初始化 4、在何处调用 5、举例声明extern变量 (1)、声明extern变量的test.h文件 (2)、初始化extern变量的test.cpp文件 (3)、调用extern变量的main.cpp文件 二、声明extern函数 1、 如何声明 2、在何处声明 3、在何处定

    2024年02月15日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包