c++如何随机生成0和1

如题所述

可以通过对随机数的结果对2求余来得到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的随机数。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-27
#include <stdio.h> 
#include <iostream> 
#include <time.h> 
using namespace std; 
int main(int argc, char* argv[]) 
{        
    srand( (unsigned)time( NULL ) );
        //srand()函数产生一个以当前时间开始的随机种子
   cout<<  rand()%2 <<endl;   // rand()%2 产生 0 和 1  
   return 0; 
}

第2个回答  2013-09-27
int a= (rand()%2 == 1) 1:0;本回答被提问者采纳
第3个回答  2013-09-27
a=rand();
b=rand();
if(a>=b)
n=1;
else
n=0;

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

c++如何随机生成0和1
int main(){ int num[ 100 ];int temp;int counter = 0;srand( time( 0 ));while( counter++ < 100 ){ temp = rand() % 10;if( temp == 0 )num[ counter ] = 0;else num[ counter ] = 1;} return 0;} 取100个随机数,其中0产生的概率为1\/10 ...

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

C++ 中怎么产生0-1的随机数 注意要包括小数!
int main(){ float num;srand(time(NULL));num = (rand()%100)*0.01;\/*这里可以控制精度,应该能看懂吧,这里是两位精度,如果你想精确到0.001,可以写成num = (rand()%1000)*0.001;*\/ cout<<"The number is: "<<num<<endl;} ...

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

C++ 随机产生0或1两个数字
0~RAND_MAX每个数字被选中的机率是相同的。范例:\/* 产生介于1 到10 间的随机数值,此范例未设随机数种子,完整的随机数产生请参考 srand()*\/ include<stdlib.h> main(){ int i,j;for(i=0;i<10;i++){ j=1+(int)(10.0*rand()\/(RAND_MAX+1.0));printf("%d ",j);} } 执行...

c++生成随机0~1小数的方法?
include <stdlib.h> p=(float)rand()\/RANDOM_MAX; p就是0~1的小数 RANDOM_MAX 是rand()能取到的最大值

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

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

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

相似回答