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语言处理未初始化指针

    下面我会详细讲解“C语言处理未初始化指针”的完整使用攻略。 1. 什么是未初始化指针 从语言层面上来说,C语言中的指针默认是一个垃圾值或者未初始化的值,即该指针变量中存储的是一个未知的地址,而这个地址是随机的。 在实际编程中,如果程序员不小心对未初始化指针进行操作,就可能会导致错误和不可预见的行为。因此,在使用指针之前,程序员必须显式地对指针进行初始化操作。…

    C 2023年5月9日
    00
  • C语言中如何进行异步编程?

    异步编程一般指的是在程序中同时执行多个任务,而不是等待一个任务完成后再执行下一个任务。在 C 语言中,我们可以通过多线程或者事件驱动编程来实现异步编程。 多线程 多线程是一种利用 CPU 多核特性,同时执行多个线程的技术。C 语言中可以使用 pthread 库实现多线程编程。 首先需要导入 pthread 库头文件: #include <pthread…

    C 2023年4月27日
    00
  • VS Code+msys2配置Windows系统下C/C++开发环境

    下面就是关于“VS Code+msys2配置Windows系统下C/C++开发环境”的完整攻略。 第一步:安装必要软件 首先,我们需要下载并安装以下软件: Visual Studio Code msys2 MinGW-w64 其中,Visual Studio Code是一款优秀的开源代码编辑器;msys2是一个包含大量 Unix/Linux 工具和库的环境,…

    C 2023年5月23日
    00
  • JavaScript JSON.stringify()的使用总结

    以下是关于“JavaScript JSON.stringify()的使用总结”的完整攻略。 标题 介绍 在JavaScript中,JSON.stringify()是一种将JavaScript对象转换为JSON字符串的方法。它的作用是将一个对象序列化为一个JSON字符串,以便进行传输或存储,或者将其传递给一个将JSON格式数据作为输入的函数中。本文将探讨如何使…

    C 2023年5月23日
    00
  • C 简介

    我非常乐意为您提供关于“C 简介”的完整使用攻略。 一、概述 C语言是一种功能强大且广泛使用的编程语言。它通常被用于系统编程、驱动程序开发和高性能应用程序中。C语言在计算机科学教育中也是一种非常常见和重要的编程语言。 在这篇“C 简介”的文章中,我们将介绍C语言的基本概念和语法,例如变量、运算符、条件控制语句、循环语句等。阅读完本文后,您将对C语言有一个基本…

    C 2023年5月10日
    00
  • 举例讲解C语言的fork()函数创建子进程的用法

    当我们编写多进程程序时,经常需要使用fork()函数创建子进程。在此为大家详细讲解C语言的fork()函数创建子进程的用法。 什么是fork()函数? fork()函数是一个创建进程的系统调用,调用一次生成两个进程(一个子进程和一个父进程)。两个进程都执行fork()调用后的下一条语句。这个新进程几乎与原先的进程完全一样,除了它有自己独特的进程ID,PID和…

    C 2023年5月23日
    00
  • C语言中求解图形的问题

    求解图形的问题在C语言中是一个常见的问题,这个问题可以通过使用图形库来解决。常见的图形库包括SDL、OpenGL和Qt等,其中要学习的内容包括图形绘制、事件响应和用户交互等等。 下面是一些基本的攻略,帮助你开始学习解决图形问题。 1. 学习基本绘图函数 首先,要学会使用基本的图形绘制函数。这些函数可以通过图形库调用,例如SDL中的 SDL_RenderDra…

    C 2023年5月23日
    00
  • 利用C语言实现经典多级时间轮定时器

    下面我将详细讲解如何利用C语言实现经典多级时间轮定时器。为了更好地演示,我将分以下五个步骤介绍: 定义时间轮结构体 插入定时器 删除定时器 时间轮转动及定时任务的处理 示例说明 1. 定义时间轮结构体 首先,我们需要定义一个时间轮结构体,用于存储定时器信息和管理定时器。结构体包含时间轮的精度、时间间隔、槽数量等信息,以及一个指针数组用于存储定时器节点。定义如…

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