C++产生随机数字最全教程
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++产生随机数字最全教程相关推荐
- Docker最全教程——数据库容器化(十一)
终于按时完成第二篇.本来准备着手讲一些实践,但是数据库部分没有讲到,部分实践会存在一些问题,于是就有了此篇以及后续--数据库容器化.本篇将从SQL Server容器化实践开始,并逐步讲解其他数据库的容 ...
- Java随机字符串:随机数字字符串,工具类
Java中生成随机数,字符串的工具类 1. 调用方法需要传入生成字符串的长度和需要的类型 生成随机数字 生成随机字母字符串 生成随机字符串+数字等 ......... 2. 总共8种类型,具体看工具类 ...
- 使用Reactor进行反应式编程最全教程
反应式编程(Reactive Programming)这种新的编程范式越来越受到开发人员的欢迎.在 Java 社区中比较流行的是 RxJava 和 RxJava 2.本文要介绍的是另外一个新的反应式编 ...
- Ubuntu 编译安装ffmpeg,mplayer,x264全教程支持VDPAU(高清硬解)
这个是针对Ubuntu 10.04 AMD64的安装ffmpeg,mplayer,x264全教程,包括VDPAU Ubuntu 10.10AMD64也是可以的. 目前mplayer仍然使用svn,编译 ...
- 视频捕捉全教程(vc+vfw)
视频捕捉全教程(vc+vfw) 目 录 一. 视频捕获快速入门 二.基本的捕获设置 1.设置捕获速度: 2.设置终止捕获 3.捕获的时间限制 三.关于捕获窗口 1.创建一个AVICAP捕获窗口 2.将 ...
- 视频教程-Python开发全教程-Python
Python开发全教程 目前就职于中国唯品会做iOS开发工程师,在良师益友网,麦子学院任职iOS讲师,出版iOS编程学习书籍<7天玩转iOS界面开发>,<初级到AppStore上架& ...
- Metis从安装到使用全教程(Linux)
Metis全教程 Metis的安装 基本环境配置 编译以及安装 使用METIS中programs 使用METIS API 总结 Metis的安装 首先需要从Karypis Lab 的网页上进行下载开源 ...
- (转)FPE修改全教程1
(转)FPE修改全教程1 [原创]FPE修改全教程 很早的时候,当出现了视窗系统以后,图形界面就深得人们的喜爱,从古老的DOS界面的幼稚的波斯王子开始,便逐渐的出现了更高意义上的游戏,更优 ...
- 视频捕捉全教程(MFC+vfw)
视频捕捉全教程(vc+vfw) 目 录 一. 视频捕获快速入门 二.基本的捕获设置 1.设置捕获速度: 2.设置终止捕获 3.捕获的时间限制 三.关于捕获窗口 1.创建一个AVICAP捕获窗口 2.将 ...
- gtasa联机服务器注册,GTA SA:MP 0.1 联机服务器建设全教程(XP系统)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 说明:在游戏中一般换图的命令是 /rcon changemode 地图名, 注意地图名不需要后缀名,地图在你的gamemodes文件夹中,如果你想用/rc ...
最新文章
- 2018目标检测最新算法+经典目标检测算法
- Arch Linux PDF格式文件无法显示中文
- java控制语句练习题_[Java初探实例篇02]__流程控制语句知识相关的实例练习
- mysql max和order by_mysql – 为什么MAX()比ORDER BY慢100倍… LIMIT 1?
- 解决在使用 Qt 编译项目时出现 “C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode格式以防止数据丢失“ 的警告
- 2、运行.py文件、字符串、保留字符、行和缩进、多行语句、引号、注释、等待用户输入、同一行显示多条语句、命令行参数
- 【动态规划】叠放箱子问题(ssl 1640)
- 光纤收发器的详细选择方法
- c语言编简单博弈小游戏,[2018年最新整理]实验二:利用α-β搜索过程的博弈树搜索算法编写一字棋游戏.doc...
- 前端学习(1338):mongoDB删除文档
- python中的.idea文件夹是干嘛的
- 算法21----重塑矩阵 LeetCode566
- 店铺淘宝双十一活动利润的快速量化。
- Python time和datetime模块
- 【perl脚本】perl one line的几个有趣实例1
- 谷歌云盘快速下载大文件
- Java中的输入、输出流
- 计算机硕士论文质疑数据不够,硕士论文伪造数据 抽检_硕士论文编数据的后果_硕士论文数据造假怎么被发现...
- uniapp微信小程序项目-优购商城
- 库克逼腾讯分成30%遭拒,苹果APP Store或将微信下架!
热门文章
- mysql数据库中的正则表达式_MYSQL中正则表达式检索数据库
- Windows用户态和内核态原理讲解
- 抖音作品实时监控采集数据,抖音达人下关键词数据抓取
- 金山卫士开源软件之旅(九) KUI高级界面(列表控件、树控件例子、超文本、网页控件)
- GIS应用类有哪些最新发表的毕业论文呢?
- 怎样快速将方形图片剪裁成椭圆形?分享大家一个小妙招
- 什么是互质数(或互素数) ?
- 生活感悟,人生正能量!--摘自张瑞敏演讲语录
- python123货币转换器_Python之美元大写转换器
- Kali linux 2016.2(Rolling)里Metasploit连接(包括默认和自定义)的PostgreSQL数据库之后的切换到指定的工作空间...