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 ...
最新文章
- JAVA中字符集详解
- jquery.dataTables.min.js: Uncaught TypeError: Cannot read property 'style' of undefined
- 浅析Avicii的MV Hey Brother
- [poj] 2749 building roads
- sql server 2008安装_性能不够?基于时序数据库的Zabbix 5.2安装指南
- 2.Cannot find config.m4.
- Linux下辅助DNS的搭建以及远程和加密更新
- vue 点击文字input_vue input实现点击按钮文字增删功能示例
- elasticsearch及Kibana入门安装
- 路由器截获微信消息_猫(Modem)和路由器有什么区别?
- oracle回收站还原,Oracle从“回收站”恢复删除的表
- std::asio小记
- pytorch绘制loss和accuracy曲线
- 腾讯实时股票数据接口怎么获取行情?
- react 调用webIm
- Linux系统_通过命令新建MySQL数据库并导入sql文件
- 【机器视觉】机器人及视觉检测系统在螺丝检测包装生产线上的应用
- 微信官方支付接口配置教程
- 【darknet源码解析-24】shortcut_layer.h 和 shortcut_layer.c 解析
- win10右键新建为什么没有文本文档了