[C++]C++随机函数

C++的rand()函数解惑——不随机随机函数 由于最近项目需要用到随机函数来加密数据,所以就用rand()%5+1处理生成1-5的随机数,但当每次重启软件后,发现rand()生成的随机数居然是固定不变的,例如:2,5,4,3,1,2,重启软件后生成的还是这些数。rand() 阅读详情

C++随机函数(VC program):

#include <stdio.h>

#include <iostream>

#include <time.h>

using namespace std;

#define MAX 100

int main(int argc, char* argv[])

{

       srand( (unsigned)time( NULL ) );         //srand()函数产生一个以当前时间开始的随机种子

       for (int i=0;i<10;i++)

              cout<<rand()%MAX<<endl;         //MAX为最大值,其随机域为0~MAX-1

       return 0;

}

 


rand()通常的使用方法是这样的:

rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。

这样,如果你要产生0~1010个整数,可以表达为:

int N = rand() % 11;

这样,N的值就是一个0~10的随机数,如果要产生1~10,则是这样:

int N = 1 + rand() % 11;

总结来说,可以表示为:

a + rand() % n

其中的a是起始值,n是整数的范围。

若要0~1的小数,则可以先取得0~10的整数,然后均除以10即可得到随机到十分位的10个随机小数,若要得到随机到百分位的随机小数,则需要先得到0~10010个整数,然后均除以100,其它情况依此类推。

通常rand()产生的随机数在每次运行的时候都是与上一次相同的,这是有意这样设计的,是为了便于程序的调试。若要产生每次不同的随机数,可以使用srand( seed )函数进行随机化,随着seed的不同,就能够产生不同的随机数。

如大家所说,还可以包含time.h头文件,然后使用srand( time(0))来使用当前时间使随机数发生器随机化,这样就可以保证每两次运行时可以得到不同的随机数序列(只要两次运行的间隔超过1)

 


随机函数:<<The C++ Programming Language>>(随机数生成的基本方法)

int randx = 0;

int rand()

{

    randx = randx * 1103515245 + 12345;

    return randx;

}

void srand(int a)

{

    randx = a;

}

比特大陆校招笔试 我当时做的时候没有概念(上边倒计时我一直以为是一个模块的),所以第一个模块写的太长了导致最后才留15分钟快速选的(一共18道题),有一题最后没有选上,两题没有认真看题目瞎选的,求求求过过过!选择题:主要考高中物理题、数学题(念过高中的一定会,但是需要时间算,需要留25分钟左右的时间做)第一道就是写个人的内容,什么最近读过的书,最近的感受等等;分为两个模块,考试内容超级无敌简单,但是注意时间掌握。注意这里别花太长的时间,不然后边来不及。第二道逻辑分析题,需要你写解答。 阅读详情

相关推荐

Hexo博客使用PDF.js

clone了一个pdf.js 然后兴高采烈地到文章里使用{% pdf %}标签 结果浏览器弹出了个下载框(使用GitHub的raw) 不知道是不是因为使用GitHub的原因导致这个问题 后来我测试的时候报了个错 CSDN上的解决方法 到时候我再试试把资源放回lib/里面看看行不行 目录1.clone1.1.官方方法1.2.NexT主题方法1.3.补充2.修改文件2.1.修改viewer.htm...

LTFan 942

c++随机

计算机的运行是通过代码来进行的,而代码的执行需要确定的数字,即计算机的运行过程是一个确定的过程,计算机的运行过程是一个确定的过程,所以不可能产生一个真正有意义的数字,即计算机只能产生伪随机数。 引用随机数需要引用头文件 #include <cstdlib> 1.随机函数 (1) c++提供产生随机数的函数: rand(),原型为:int rand(void); rand() 产生一个 [0…RAND_MAX] 之间的数字,RAND_MAX是可以产生的最大随机数(2^31-1),是一个常量

mantou_riji的博客 3万+

C++ 产生随机函数

rand() 随机函数可以用来生成数据量大的测试数据、可以用来编游戏等,十分实用。此函数是 int 类型,可以直接输出,也可以赋值,非常方便。这样,每次输出的数就是不同的了。C++ 产生随机数的函数非常简单 :rand()结果发现每次运行的结果都是 41。...

小天狼星_布莱克 的博客 1万+

C++ 随机函数

1.产生随机数: rand():内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定的范围里可看成是随机的。 rand()返回一随机数值的范围在0至RAND_MAX 间。RAND_MAX的范围最少是在32767之间(int)。 所在的头文件:#include &lt;cstdlib&gt; // 标准...

ChanJose的博客 3万+

C++中的随机函数

随机

YoungHacker_dyz的博客 1832

c++中的随机函数

C++中产生随机数种子对于初学者一直都很困惑.大家知道,在C中有专门的srand(N)函数可以轻松实现这一功能,然而在C++中则要复杂一些.下面是笔者学习的一点心得,希望对大家能有所帮助.(这里我们依然要借助C标准库中的rand()函数)   函数说明:    int rand();                                          :返回从[0,MAX)之间的

Vivian Liu的专栏 1479

C/C++ 生成随机

本文摘要: 文章介绍了C++中生成随机数的多种方法。1)使用rand()函数生成0-RAND_MAX范围的随机数,但需配合srand(time(NULL))实现真正随机;2)推荐使用C++11的<random>库,包含default_random_engine(基础随机引擎)、uniform_int_distribution(整数范围分布)、uniform_real_distribution(实数范围分布)和bernoulli_distribution(布尔值分布)等类;3)详细说明了mt199

人无远虑,必有近忧 4万+

C++随机函数

  一、C++中不能使用random()函数 random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过。 可改用C++下的rand函数来实现。 1、C++标准函数库提供一随机数生成器rand,返回0-RAND_MAX之间均匀分布的伪随机整数。 RAND_MAX必须至少为32767。rand()函数不接受参数,默认以1为种子(即起始值)。 随机

gischen的专栏 2673

C++ rand() 随机函数的用法

C++中rand() 函数的用法 1、rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。 2、如果你要产生0~99这100个整数中的一个随机整数,可以表达为:int num = rand() % 100;   若要产生每次不同的随机数,则可以使用srand( seed )函数进行产生随机化种子,可以包含time.h头文件,然后使用sra...

qq_27278957的博客 2万+

C++中rand()随机函数使用方法

@TOC 常用技巧: 1 rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。 2 如果你要产生0~99这100个整数中的一个随机整数,可以表达为:int num = rand() % 100; 这样,num的值就是一个0~99中的一个随机数了。 3 如果要产生1~100,则是这样:int num = rand() % 100 + 1;...

ZXF_1991的博客 1909

c++ 随机函数

random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过。可改用C++下的rand函数来实现。     1、C++标准函数库提供一随机数生成器rand,返回0-RAND_MAX之间均匀分布的伪随机整数。 RAND_MAX必须至少为32767。rand()函数不接受参数,默认以1为种子(即起始值)。随机数生成器总是以相同的种子开始,所以形成的伪随机数列也相同,失去了随机意义。

zheyejs的专栏 586

关于C++随机函数

#include<iostream> #include<cstdlib> #include<ctime> using namespace std; int main() { double d; int n,seed; seed=time(0);//以系统流逝时间为随机数发生器种子 srand((unsigned int)...

weixin_30613727的博客 155

C++随机函数用法详解

C++随机函数使用详细解释

当凌绝顶,俯瞰天下 2201

C++中生成随机数方法:rand()函数

C++标准库中rand()函数是生成0到RAND_MAX之间的随机整数,RAND_MAXs是定义一个宏定义,在库中定义为一个大于32767的整数。但是rand()函数生成的随机数是一个伪随机数(每次代码运行都是相同的数字除非重启),需要设置随机数种子。

Appppiiiiggg的博客 2万+

C++ 中生成随机数的方法总结

C++ 中生成随机数的方法总结

编程猿来如此 6万+

C++ time(0)函数

time(0)函数返回当前格林尼治标准时间与格林尼治标准时间1970年0分0秒的时间间隔。 头文件 #include<ctime> //问题:得到当前时间。 #include <iostream> #include <ctime> using namespace std; int main() { int totalSeconds = time(0); int currentSeconds = totalSeconds % ..

EmileJiao的博客 4825

C++C++生成随机

计算机所产生的随机数其实并不是真正随机的,而是伪随机的。当我们在使用rand()生成随机数时得到的实际上是从由随机数种子生成的一个数字序列中生成的一个数,该数字序列的长度一般是65535。也就是说一个固定的随机数种子生成的数字序列长度一般是65535,当我们在这个数字序列中生成随机数时,如果已经得到了65535个随机数那么接下来生成的随机数会和之前的随机数重复。

unoreason的博客 2万+

C++ 随机

注:本文的知识来自网络和个人的整理和理解。 当初写这篇博客的时候,用的IDE是Dev C++。当时可以直接使用诸如rand()、srand()等函数。现在好像不行了,还是需要加上#include<cstdlib>。本文的代码已经修改了,图片没法修改,见谅。 一、rand函数。 int rand(void); rand()函数不需要引入任何头文件,可直接使用,返回0~RAND_MAX(32767)的整数,不需要参数,它是根据种子生成的,根据不同的种子产生不同的随机序列。 这个程序无论何时

小橙子的博客 5722

11套烟花代码,多种方式实现的烟花代码,基于Html/jQuery/css实现的烟花代码合集,总有一款是你喜欢的

11套烟花代码,多种方式实现的烟花代码,基于Html/jQuery/css实现的烟花代码合集,总有一款是你喜欢的

上一篇: [C++]C++中的時間
下一篇: [我的ASP.net学习历程]ArrayList用法
bgu
bgu
博客等级 码龄24年 14粉丝 121原创
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值