C++中的随机函数
一、random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过。 可改用C++下的rand函数来实现。
2、C++中还有一函数srand(),能够指定不同的数(无符号整数变元)为种子。可是假设种子同样,伪随机数列也同样。一个办法是让用户输入种子,可是仍然不理想。
3、 比較理想的是用变化的数,比方时间来作为随机数生成器的种子。 time的值每时每刻都不同。所以种子不同,所以,产生的随机数也不同。
// C++随机函数(VC program)
#include <stdlib.h>
#include <iostream.h>
#include <time.h>
#define MAX 100
void main()
{
srand( (unsigned)time( NULL ) );//srand()函数产生一个以当前时间開始的随机种子
for (int i=0;i<10;i++)
cout<<rand()%MAX<<endl;//MAX为最大值,其随机域为0~MAX-1
}
二、rand()的使用方法
rand()不须要參数,它会返回一个从0到最大随机数的随意整数,最大随机数的大小一般是固定的一个大整数。 这样,假设你要产生0~10的10个整数,能够表达为:
int N = rand() % 11;
这样,N的值就是一个0~10的随机数,假设要产生1~10,则是这样:
int N = 1 + rand() % 10;
总结来说,能够表示为:
a + rand() % n
当中的a是起始值,n是整数的范围。 若要0~1的小数,则能够先取得0~10的整数,然后均除以10就可以得到随机到十分位的10个随机小数,若要得到随机到百分位的随机小数,则须要先得到0~100的10个整数,然后均除以100,其他情况依
此类推。
通常rand()产生的随机数在每次执行的时候都是与上一次同样的,这是有意这样设计的,是为了便于程序的调试。若要产生每次不同的随机数,能够使用srand( seed )函数进行随机化,随着seed的不同,就能够产生不同的随机数。
如大家所说,还能够包括time.h头文件,然后使用srand(time(0))来使用当前时间使随机数发生器随机化,这样就能够保证每两次执行时能够得到不同的随机数序列(仅仅要两次执行的间隔超过1秒)。
C++中的随机函数的更多相关文章
- python中的随机函数random的用法示例
python中的随机函数random的用法示例 一.random模块简介 Python标准库中的random函数,可以生成随机浮点数.整数.字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据 ...
- MSSQL中的随机函数
随机函数:rand()在查询分析器中执行:select rand(),可以看到结果会是类似于这样的随机小数:0.36361513486289558,像这样的小数在实际应用中用得不多,一般要取随机数都会 ...
- jmeter===JMeter 中Random 随机函数的使用(转)
原文:http://blog.csdn.net/dreamtl/article/details/68952272 场景:在做接口测试时,比如说要求用户的手机号码不允许重复,那此时可以通过Random ...
- JMeter 中Random 随机函数的使用
场景:在做接口测试时,比如说要求用户的手机号码不允许重复,那此时可以通过Random 随机函数来解决此问题: 1.在JMeter 工具中,选择{选项-函数助手对话框-} 函数助手中选择 Random ...
- 1. python中的随机函数
本系列不会对python语法,理论作详细说明:所以不是一个学习教材:详细查考Vamei 大神:通俗易懂:是一个很好(基础-中级-高级)的学习教程.而这里只是我一个学习python的某些专题的 ...
- 深入理解Oracle中的随机函数
--Oracle中取随机值的函数 .dbms_random包 dbms_random包提供了一系列的随机值获取函数以及相关存储过程.下面详细讲解常用的函数和过程. ()dbms_random.rand ...
- python中的随机函数
python--随机函数(random,uniform,randint,randrange,shuffle,sample) 本文转载自:[chamie] random() random()方法:返回随 ...
- np中的随机函数
numpy.random.uniform介绍: 1. 函数原型: numpy.random.uniform(low,high,size) ==>也即其他函数是对该函数的进一步封装 功能: ...
- SQL中随机数函数rand()简介
转自:http://database.51cto.com/art/201009/224397.htm 下文将为您介绍SQL中的随机函数rand(),供您参考,如果您是才接触SQL Server的新手, ...
随机推荐
- jQuery基础(Ajax,load(),getJSON(),getScript(),post(),ajax(),同步/异步请求数据)
1.使用load()方法异步请求数据 使用load()方法通过Ajax请求加载服务器中的数据,并把返回的数据放置到指定的元素中,它的调用格式为: load(url,[data],[callba ...
- HTMLcanvas矩形阵雨 - 学习笔记
HTMLcanvas矩形阵雨 在画布上执行 获取制图环境 全屏获取屏幕宽度和屏幕高度 确定每个文字的宽度 以确定列 循环输出 定时器调用 HTML 部分 <!DOCTYPE HTML> & ...
- RNN & LSTM & GRU 的原理与区别
RNN 循环神经网络,是非线性动态系统,将序列映射到序列,主要参数有五个:[Whv,Whh,Woh,bh,bo,h0][Whv,Whh,Woh,bh,bo,h0],典型的结构图如下: 和普通神经网 ...
- oracle 分组取第一行数据 ,查询sql语句
oracle 分组取第一行数据 SELECT * FROM ( SELECT ROW_NUMBER() OVER(PARTITION BY x ORDER BY y DESC) rn, t.* FR ...
- 五种常用web服务器jvm参数设置
一.tomcat Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大.有以下几种方法可以选用:第一种方法:在配置文件中设置Windows下,在文件/bi ...
- redis 迭代命令SCAN、SSCAN、HSCAN、ZSCAN
SCAN 命令用于迭代当前数据库中的数据库键.SSCAN 命令用于迭代集合键中的元素.HSCAN 命令用于迭代哈希键中的键值对.ZSCAN 命令用于迭代有序集合中的元素(包括元素成员和元素分值). S ...
- Nested Prefab Mode 嵌套预制体 保存问题 Dirty
Unity2018.3 Nested Prefab Mode 嵌套预制体 Unity2018.3开始,新增了一个Prefab Mode,俗称嵌套预制体,在Prefab里套Prefab.实际应用中多少会 ...
- log4j.properties 配置示例
需要的jar如下: !-- log4j --> <dependency> <groupId>log4j</groupId> <artifactId> ...
- MVC技术的面试问题
MVC中的三种方式: ORM框架:对象关系映射关系 ,面向对象的对象模型和关系型数据之间的相互转换.基于关系型数据库的数据存储,实现一个虚拟的面向对象的数据访问接口.只要提供了持久化类与表的映射关系, ...
- Java简单方法批量修改Windows文件夹下的文件名(简单IO使用)
package test.tttt; import java.io.File; import java.util.ArrayList; import java.util.List; public cl ...