用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++中rand()函数是产生随型旦机数的一个随机函数,范围为卜帆扰0~RAND_MAX,其中轿毁
RAND_MAX是C中stdlib.h中宏定义的一个字符常量:
所以,要得到一个(0,1)之间(开区间)的随机数,可以这样:
#include
#include
#include
void main( void )
{
int i;
srand( (unsigned)time( NULL ) );
for( i = 0; i < 10;i++ )
cout<<((double)rand())/(RAND_MAX+1)<
取0-10000000000之间扰陆饥的随缓返机悉滚数,然后除以10000000000即可
强制转换为double型就不会判为0 了
就随0之1的10^9次方 之后得出的东西除10^9次方
楼悔胡雀腊上为何不试试,用除法得出的数可是自动判为0
#include
#include
#include
int main()
{
srand(time(NULL)); //时间种子
double a=0.00000000001; //先做double a种碧岁拦子
a=a*(rand()%10000000000);
cout< return 0;
}