c++如何产生(0,1)之间(开区间)的随机数?

如题所述

用rand函数产生一列1~32768的数,除以32769.0来实现。举例代码如下:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
int main(void){
    int k,i;
    double x=RAND_MAX+2.0;
    srand((unsigned)time(NULL));
    for(k=i=0;i<50;i++)
        printf(++k%9 ? "%10f" : "%10f\n",(rand()+1)/x);
    if(k%9) printf("\n");
    return 0;
}

温馨提示:内容为网友见解,仅供参考
无其他回答

c++如何产生0到1之间的随机数?
C++中用来产生随机数的函数为rand(), 其返回值为整数。而0到1之间的随机数,明显是浮点数。这样无法直接产生。于是,必须经过转换。转换思路为,生成一个0-N的随机数,然后对其除以N+1,则可以得到0-1直接的浮点型随机数。N的确定,可以与要求的精度有关,比如需要三位小数,可以采用N=999,如需要...

c++如何产生0到1之间的随机数?用什么指令?
i++)\\x0d\\x0a {\\x0d\\x0a number = ((double)(rand() % 10)) \/ 10;\/\/将0~10之间的随机数除以10 \\x0d\\x0a cout<<number<<ends;\\x0d\\x0a }\\x0d\\x0a \\x0d\\x0a system("pause");\\x0d\\x0a return 0;\\x0d\\x0a} ...

c++如何产生0到1之间的随机数?
在用rand之前,先用当前时间设置种子,即 srand(time(NULL));然后要得到0到1之前的,可以 double i = rand()*1.0\/RAND_MAX;同样,你要得到4.1应该是rand()\/10.0,否则两个整数相除,得到的是整除的结果,不是double型。

用C或C++随机生成0和1两个整数中的一个,怎么弄?
srand(time(0)); \/\/以time为生成随机数的种子,以便随机数不重复 a=rand()%2; \/\/a为随机数除以2取余,则为0或1 cout<<a<<endl;}

怎样用c++编写随机数?
在C\/C++中普通的随机数用randomize()与rnd()就好,产生 的数在0到1之间.如果要1到10的可以 randomize();\/\/产生随机数种子之类的,反正是 \/\/用了这句才能真正随机,不然的话,每次程序 \/\/运行结果都会同样的,不用这句也行,可以用 \/\/srand( (unsigned)time( NULL ) );\/\/前提是在程序前面得加...

C++怎么获取随机数?
一、C++获取随机数的方法 rand()方法是C++获取随机数的方法,可以通过srand()方法获取系统的时间,用系统时间作为判断依据,生成随机数,随机数的大小通过rand()方法获取的值,进行取余后获得。也就是说,srand方法获取到了系统的时间,他是毫秒级的,然后通过这个毫秒级的数据,对100取余,即可获得0-...

C++产生随机数的
要生成随机数,C++程序通常会通过数组和指针来实现。首先,你需要定义一个整数类型的数组,用于存储随机数序列,同时定义一个指向数组首元素的指针。在初始化步骤中,将指针定位到数组的第一个元素,这是随机数生成过程的起点。然后,设置一个循环条件,通常是直到指针达到数组的尾部。在每次循环中,指针...

随机数生成的原理和方法
1、在C++中可以的,函数是这样用,比如0至1的随机数 Random ran=new Random();int RandKey=ran.Next(0,1);不过这样会有重复,可以给Random一个系统时间做为参数,以此产生随机数,就不会重复了 System.Random a=new Random(System.DateTime.Now.Millisecond);int RandKey =a.Next(10);2...

C++产生任意两数之间随机数的方法例举
C++编程中可以产生任意两个数之间的随机数,产生两个数之间的随机数有哪些方法呢?小编与大家例举一下产生随机数的方法。要产生随机数,首先要使用rand()函数。产生随机数,还要使用随机数种子,一般用系统时间值作为随机数种子。如果要产生[i,j]之间的随机数,使用以下方法。产生[i,j)之间的随机数...

c++如何随机生成0和1
1)C++中的rand()函数可以得到一个0-RNDMAX之间的随机数,Randmax是一个宏,你可以把它理解成65535;2)使用rand()函数必须添加头文件,代码如下:include <cstdlib> 3) 得到0或1的随机数代码如下:int num=rand()%2;因为对2求余的结果不是0就是1,因此上面这句代码就得到了一个0或1的随机...

相似回答