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;