方法一:

  使用 rand 函数可以获取,如下。

  

  随机数大小是在0到RAND_MAX,值为2147483647,它是在stdlib中定义的,如果我们希望在某个范围内,可以使用 % 结合 / 来实现

  但是不难发现,这里获得的随机数是唯一确定的,而不是变化的。所以,如果我们希望获得变化的随机数,可以使用下面的方法。

方法二:

  既然使用rand函数无法获取到变化的随机数,这里就可以使用srand来实现了。

#include<iostream>
#include<ctime>
using namespace std;
int main()
{
srand(time());
for (int i = ; i < ; i++)
cout << rand() << endl;
return ;
}

  这里,我们需要引入ctime库,其中time(0)是获取从1970年开始的时间(单位:s),然后再获取rand(),这时的rand就是随机变化得了。 如下:

 但这里获取的值是不确定的,而如果我们希望获得在某一范围内的值呢,也很简单,如下所示:

#include<iostream>
#include<ctime>
using namespace std;
int main()
{
srand(time());
for (int i = ; i < ; i++)
cout << rand() % << endl;
return ;
}

如上,使用求余数的方法,我们可以获得0 - 100之间的值。

而如果我们希望得到0 -  1之间的数呢? 如下所示:

#include<iostream>
#include<ctime>
using namespace std;
int main()
{
srand(time());
for (int i = ; i < ; i++)
cout << (rand() % ) * 0.1 << endl;
return ;
}

而我们希望得到-1 到 1 之间的数呢?

#include<iostream>
#include<ctime>
using namespace std;
int main()
{
srand(time());
for (int i = ; i < ; i++)
if (i % == )
cout << (rand() % ) * 0.1 << endl;
else
cout << (rand() % ) * -0.1 << endl;
return ;
}

上面的程序虽然可以得到正随机数和负随机数,但是是交替出现的,还是不够随机,所以我们可以采用下面的方式:

#include<iostream>
#include<ctime>
using namespace std;
int main()
{
srand(time());
double a;
for (int i = ; i < ; i++)
if (rand() % > 0.4)
{
cout << (rand() % ) * 0.1 << endl;
}
else
{
a = (rand() % ) * -0.1;
if (a == -0.0)
{
cout << << endl;
}
else
{
cout << a << endl;
}
}
return ;
}

这样,我们就可以得到真正的随机数了,后面使用 a == -0.0 判断是为了防止输出 -0 的情况。 最终结果如下:

c++获取随机数的更多相关文章

  1. MySQL获取随机数

    如何通过MySQL在某个数据区间获取随机数? MySQL本身提供一个叫rand的函数,返回的v范围为0 <= v < 1.0. 介绍此函数的MySQL文档也介绍道,可以通过此计算公式FLO ...

  2. js获取随机数

    js 获取随机数方法如下: 1.Math.random()表示 结果为0-1间的一个随机数(包括0,不包括1) : 返回指定范围的随机数(m-n之间)的公式 Math.random()*(n-m)+m ...

  3. Cocos2d-x获取随机数

    计算机是无法产生真正的随机数的,都是伪随机.获取随机数的方式和算法多种多样,这里只给出一种方法,基于最新的C++11. 1 2 3 4 5 #include <random> std::u ...

  4. Java获取随机数的几种方法

    Java获取随机数的几种方法 .使用org.apache.commons.lang.RandomStringUtils.randomAlphanumeric()取数字字母随机10位; //取得一个3位 ...

  5. sql 指定范围 获取随机数

    DECLARE @nMinimumCount INT= 1DECLARE @nMaximumCount INT= 100SELECT abs(CHECKSUM(NEWID()))%(@nMaximum ...

  6. javascript 获取随机数

    javascript 获取随机数 var rand=Math.floor(Math.random()*(n+1)) floor 向下取整 random 获得0-1之间的随机数

  7. js 获取随机数 Math.random()

    js 获取随机数 Math.random() // 结果为0-1间的一个随机数(包括0,不包括1) var randomNum1 = Math.random(); //console.log(rand ...

  8. php 获取随机数的几个方式

    php 获取随机数的几个方式 1.直接获取从min-max的数,例如1-20:$randnum = mt_rand(1, 20); 2.在一个数组里面随机选择一个(验证码的时候需要字母.数字混合的情况 ...

  9. PHP获取随机数的函数rand()和mt_rand()

    rand()函数用户获取随机数,具体用法如下: rand()可以设置0个参数或者两个参数,如rand($min,$max),$min表示从XX开始取值,$max表示最大只能为XX 例如: <?p ...

  10. Java基础 - 获取随机数

    使用方法 package com.demo5; import java.util.Random; /* * 使用步骤: * A:导包 * import java.util.Random; * B:创建 ...

随机推荐

  1. c# 产生随机数 程序所在路径

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. 使用vue,react,angular等框架和不使用框架使用jquery的优缺点

    jquery和vue react等框架有着本质上的区别,从jquery到vue.react 或者说是到mvvm的转变,是一个思想的转变,是将原有的直接操作dom的思想转变到操作数据上去. vue更关注 ...

  3. jQuery length 和 size()区别

    jQuery length和size()区别总结如下: 1.length是属性,size()是方法. 2.如果你只是想获取元素的个数,两者效果一样既 $("img").length ...

  4. 20180705 fragment

    https://www.cnblogs.com/chaowang/p/6180825.html https://blog.csdn.net/xxkalychen/article/details/537 ...

  5. (转)如何最佳地使用memcached?

    转自:http://os.51cto.com/art/201205/335034_all.htm Memcached是由DangaInteractive开发的,高性能的,分布式的内存对象缓存系统,如何 ...

  6. 关于Linux学习中的问题和体会

    本科期间未开展过与之相关的课程,所以初次接触Linux难免有些问题!参照老师给的学习资料中内容,逐步解决了一些问题,但还有一些问题没解决,下面列举出自己遇到的一些问题. 1.在环境变量与文件查找专题中 ...

  7. panda

    这个项目很有意思,麻雀虽小五脏俱全. 页面使用rem和media query来设置字体和元素宽高image居中需要用到position 后端mysql使用阿里云的rds:nodejs的mysql模块的 ...

  8. js-随机图片

    <!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" ...

  9. 服务器重启报错:提示fstab readonly报错!( /etc/fstab 只读无法修改的解决办法)

    摘自:http://blog.csdn.net/gray13/article/details/7432866 一.问题描述:服务器重启报错:提示fstab readonly报错! 二.问题原因:挂载的 ...

  10. My first paper is now available online

    A two-grid discretization scheme of non-conforming finite elements for transmission eigenvalues