C++ 库有一个名为 rand() 的函数,每次调用该函数都将返回一个非负整数。要使用 rand() 函数,必须在程序中包含 <cstdlib> 头文件。

随机产生整数

直接调用rand()即可:
示例代码:

#include <iostream>
#include <cstdlib>
using namespace std;int main()
{cout << rand() << endl;return 0;
}

随机产生某个范围内的整数、

  • rand()%a生成的是0~(a-1)之间的数字
  • rand()%a+b表示生成b~(a+b-1)之间的整数
    示例代码:
#include <iostream>
#include <cstdlib>
using namespace std;int main()
{cout << rand()%10 << endl;   ///产生0-9之间的整数cout << rand()%10+1 << endl;   ///产生1-10之间的整数return 0;
}

随机产生小数

rand()%a产生的是0~(a-1)之间的整数,如果我想得到一个0-1之间的小数直接再除以a即可,这样获取的一定是个小数
示例代码:

#include <iostream>
#include <cstdlib>
using namespace std;int main()
{cout << rand()%10/(double)10 << endl;return 0;
}

产生变化的随机数

细心的你可能已经发现了,上面产生的随机数一直都是不变的,这并不是我们想要的结果,那怎么产生变化的随机数呢?
这就要用到srand(),srand()可用来设置rand()产生随机数时的随机数种子。通过设置不同的种子,我们可以获取不同的随机数序列。
但是怎么获取不同的种子比较方便呢?我们可以引入time(0)函数,time(0)每一次返回的值都是不一样的,用它当我们的随机种子再好不过了,使用time(0)函数要引入<ctime>头文件哦
代码示例:

#include <iostream>
#include <cstdlib>
#include<ctime>
using namespace std;int main()
{srand(time(0));cout << rand()%10 << endl;  ///产生0-9之间变化的整数return 0;
}

C++产生随机数字最全教程相关推荐

  1. Docker最全教程——数据库容器化(十一)

    终于按时完成第二篇.本来准备着手讲一些实践,但是数据库部分没有讲到,部分实践会存在一些问题,于是就有了此篇以及后续--数据库容器化.本篇将从SQL Server容器化实践开始,并逐步讲解其他数据库的容 ...

  2. Java随机字符串:随机数字字符串,工具类

    Java中生成随机数,字符串的工具类 1. 调用方法需要传入生成字符串的长度和需要的类型 生成随机数字 生成随机字母字符串 生成随机字符串+数字等 ......... 2. 总共8种类型,具体看工具类 ...

  3. 使用Reactor进行反应式编程最全教程

    反应式编程(Reactive Programming)这种新的编程范式越来越受到开发人员的欢迎.在 Java 社区中比较流行的是 RxJava 和 RxJava 2.本文要介绍的是另外一个新的反应式编 ...

  4. Ubuntu 编译安装ffmpeg,mplayer,x264全教程支持VDPAU(高清硬解)

    这个是针对Ubuntu 10.04 AMD64的安装ffmpeg,mplayer,x264全教程,包括VDPAU Ubuntu 10.10AMD64也是可以的. 目前mplayer仍然使用svn,编译 ...

  5. 视频捕捉全教程(vc+vfw)

    视频捕捉全教程(vc+vfw) 目 录 一. 视频捕获快速入门 二.基本的捕获设置 1.设置捕获速度: 2.设置终止捕获 3.捕获的时间限制 三.关于捕获窗口 1.创建一个AVICAP捕获窗口 2.将 ...

  6. 视频教程-Python开发全教程-Python

    Python开发全教程 目前就职于中国唯品会做iOS开发工程师,在良师益友网,麦子学院任职iOS讲师,出版iOS编程学习书籍<7天玩转iOS界面开发>,<初级到AppStore上架& ...

  7. Metis从安装到使用全教程(Linux)

    Metis全教程 Metis的安装 基本环境配置 编译以及安装 使用METIS中programs 使用METIS API 总结 Metis的安装 首先需要从Karypis Lab 的网页上进行下载开源 ...

  8. (转)FPE修改全教程1

    (转)FPE修改全教程1 [原创]FPE修改全教程       很早的时候,当出现了视窗系统以后,图形界面就深得人们的喜爱,从古老的DOS界面的幼稚的波斯王子开始,便逐渐的出现了更高意义上的游戏,更优 ...

  9. 视频捕捉全教程(MFC+vfw)

    视频捕捉全教程(vc+vfw) 目 录 一. 视频捕获快速入门 二.基本的捕获设置 1.设置捕获速度: 2.设置终止捕获 3.捕获的时间限制 三.关于捕获窗口 1.创建一个AVICAP捕获窗口 2.将 ...

  10. gtasa联机服务器注册,GTA SA:MP 0.1 联机服务器建设全教程(XP系统)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 说明:在游戏中一般换图的命令是 /rcon changemode 地图名, 注意地图名不需要后缀名,地图在你的gamemodes文件夹中,如果你想用/rc ...

最新文章

  1. 2018目标检测最新算法+经典目标检测算法
  2. Arch Linux PDF格式文件无法显示中文
  3. java控制语句练习题_[Java初探实例篇02]__流程控制语句知识相关的实例练习
  4. mysql max和order by_mysql – 为什么MAX()比ORDER BY慢100倍… LIMIT 1?
  5. 解决在使用 Qt 编译项目时出现 “C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode格式以防止数据丢失“ 的警告
  6. 2、运行.py文件、字符串、保留字符、行和缩进、多行语句、引号、注释、等待用户输入、同一行显示多条语句、命令行参数
  7. 【动态规划】叠放箱子问题(ssl 1640)
  8. 光纤收发器的详细选择方法
  9. c语言编简单博弈小游戏,[2018年最新整理]实验二:利用α-β搜索过程的博弈树搜索算法编写一字棋游戏.doc...
  10. 前端学习(1338):mongoDB删除文档
  11. python中的.idea文件夹是干嘛的
  12. 算法21----重塑矩阵 LeetCode566
  13. 店铺淘宝双十一活动利润的快速量化。
  14. Python time和datetime模块
  15. 【perl脚本】perl one line的几个有趣实例1
  16. 谷歌云盘快速下载大文件
  17. Java中的输入、输出流
  18. 计算机硕士论文质疑数据不够,硕士论文伪造数据 抽检_硕士论文编数据的后果_硕士论文数据造假怎么被发现...
  19. uniapp微信小程序项目-优购商城
  20. 库克逼腾讯分成30%遭拒,苹果APP Store或将微信下架!

热门文章

  1. mysql数据库中的正则表达式_MYSQL中正则表达式检索数据库
  2. Windows用户态和内核态原理讲解
  3. 抖音作品实时监控采集数据,抖音达人下关键词数据抓取
  4. 金山卫士开源软件之旅(九) KUI高级界面(列表控件、树控件例子、超文本、网页控件)
  5. GIS应用类有哪些最新发表的毕业论文呢?
  6. 怎样快速将方形图片剪裁成椭圆形?分享大家一个小妙招
  7. 什么是互质数(或互素数) ?
  8. 生活感悟,人生正能量!--摘自张瑞敏演讲语录
  9. python123货币转换器_Python之美元大写转换器
  10. Kali linux 2016.2(Rolling)里Metasploit连接(包括默认和自定义)的PostgreSQL数据库之后的切换到指定的工作空间...