C++中如何产生[0,1)随机数,注意0是闭区间。O(∩_∩)O谢谢!

2024-12-21 14:36:14
推荐回答(2个)
回答1:

要取得[a,b)之间的随机整数,使用(rand() % (b-a))+ a (结果值将含a不含b)。
用rand() / double(RAND_MAX)可以取得0~1之间的浮点数(注意,不同于整型时候的公式,是除以,不是求模)
((rand() % (b-a))+ a )/double(RAND_MAX)应该就可以了

回答2:

#include
#include
#include
#include
#include
#include
using namespace std;

#define MAX 10 //显示数的个数
#define n 5 //小数点后精确位数,最多9位

void main()
{
float f;
int tf,i=0;
srand(unsigned(time(NULL)));
while(i {
tf=rand();
if(tf<(int)pow(10.0,n)&&tf>=0)
{
f=(float)tf/(int)pow(10.0,n);
cout< i+=1;
}
}
getch();
}

s_gaara