c++实现简单随机数的代码

当我们需要在程序中生成一个随机数时,可以使用C++标准库中的<random>头文件提供的随机数生成器。该头文件提供了多种随机数生成器以及分布函数,可以实现不同类型和范围的随机数生成。

下面是生成一个简单的1-100之间的随机数的代码示例:

#include <iostream>
#include <random>

int main()
{
    // 使用random_device作为随机种子
    std::random_device rd;
    // 创建随机数生成器
    std::mt19937 gen(rd());
    // 设定分布区间为[1, 100]
    std::uniform_int_distribution<> dis(1, 100);
    // 生成随机数
    int rand_num = dis(gen);

    std::cout << "生成的随机数: " << rand_num << std::endl;

    return 0;
}

这里创建一个std::random_device类型的对象rd作为随机种子,然后用这个种子创建一个std::mt19937类型(梅森旋转算法)的随机数生成器gen。接着,使用std::uniform_int_distribution<>类型的对象dis设置随机数生成的范围为1-100。最后,通过调用dis(gen)生成随机数。

除此之外,我们还可以通过改变范围或者随机数生成器类型等方式,生成不同类型的随机数。

例如,以下是生成10个在0-1之间的double型随机数的代码示例:

#include <iostream>
#include <random>

int main()
{
    // 使用random_device作为随机种子
    std::random_device rd;
    // 创建随机数生成器
    std::mt19937 gen(rd());
    // 设定分布区间为[0, 1]
    std::uniform_real_distribution<> dis(0, 1);

    std::cout << "生成的随机数: " << std::endl;
    for (int i = 0; i < 10; ++i) {
        // 生成随机数
        double rand_num = dis(gen);
        std::cout << rand_num << std::endl;
    }

    return 0;
}

以上是C++实现简单随机数的代码的攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c++实现简单随机数的代码 - Python技术站

(0)
上一篇 2023年5月24日
下一篇 2023年5月24日

相关文章

  • c语言10个经典小程序

    下面是对“C语言10个经典小程序”的详细讲解,主要包括以下内容: 概述 经典小程序列表 完整攻略 示例说明 1. 概述 “C语言10个经典小程序”是一个非常有名的程序集,它包含了许多经典的C语言小程序。这些小程序都具有简单、实用、易于理解等特点,非常适合初学者学习和实践。 2. 经典小程序列表 计算n个整数的平均值 求解一元二次方程的根 按照ASCII码顺序…

    C 2023年5月24日
    00
  • C语言实现简单的图书管理系统

    C语言实现简单的图书管理系统攻略 一、前期准备 在实现图书管理系统之前,需要先了解以下基础知识: 结构体的定义和使用 文件的读写操作 指针的使用 掌握以上基础知识,才能顺利实现图书管理系统。 二、功能需求 我们要实现的图书管理系统需要以下功能模块: 添加图书信息(包括图书名称、作者、价格等信息) 删除图书信息 修改图书信息 查找图书信息 显示所有图书信息 三…

    C 2023年5月22日
    00
  • JS中判断JSON数据是否存在某字段的方法

    判断JSON数据是否存在某个字段,可以使用JavaScript中的in运算符、hasOwnProperty()方法以及undefined关键字。下面就来详细介绍一下这三种方式的应用方法。 使用in运算符 in运算符可以用来判断对象(包括JSON)中是否存在某个属性,如果存在则返回true,否则返回false。其语法如下: "propertyName…

    C 2023年5月23日
    00
  • C语言实现字符串操作函数的实例

    标题:C语言实现字符串操作函数的实例 介绍 在C语言中,字符串是一种特殊的字符数组,很多字符串操作函数都是基于字符数组的操作实现的。本文将介绍如何自己实现几个常用的字符串操作函数。 实现步骤 1.自实现strcpy()函数 strcpy()函数是将一个字符串复制到另一个字符串中,常用的函数定义如下: char *strcpy(char *dest, cons…

    C 2023年5月23日
    00
  • vscode和cmake编译多个C++文件的实现方法

    针对”vscode和cmake编译多个C++文件的实现方法”这个问题,我将提供详细的攻略如下。 1. 建立项目 首先,在VS Code中选择一个空文件夹作为你的项目,使用快捷键 Ctrl + Shift + P 或者点击左侧的终端->新建终端(Terminal),打开终端面板并输入以下命令,初始化你的C++项目: mkdir build cd buil…

    C 2023年5月23日
    00
  • C++代码实现链队列详解

    C++代码实现链队列详解 什么是链队列? 链队列是一种基于链表实现的队列,它克服了顺序队列需要进行元素搬移的缺点,具有入队和出队均可以在O(1)时间内完成的优点。 链队列的数据结构 链队列的数据结构主要由节点结构体和队列结构体两部分组成。 节点结构体 节点结构体主要包括当前节点存储的数据和指向下一个节点的指针。 template <typename T…

    C 2023年5月23日
    00
  • golang实现sql结果集以json格式输出的方法

    对于”golang实现sql结果集以json格式输出的方法”,我会按照以下步骤进行详细讲解: 步骤一:连接数据库 首先,我们需要将Go程序连接到目标数据库,这个过程可以使用第三方的Go包来实现,例如 “github.com/go-sql-driver/mysql” 或 “github.com/lib/pq”。以下是一个使用MySQL数据库的示例: impor…

    C 2023年5月23日
    00
  • IP地址的分类 abcde类是如何划分的

    IP地址是计算机在网络上的标识,可以用来唯一定位到某个设备。IP地址按照网络的规模和需求,被分成了不同类别,分别为A、B、C、D、E五类。其中A、B、C三类用的最为广泛。 IP地址分类 IP地址根据网络规模的不同,可分为五类,如下: A类地址:以0开头,1-126的数字段,用于大型网络; B类地址:以10开头,128-191的数字段,用于中型网络; C类地址…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部