我想在C中生成0到1之间的随机双数。我使用了以下代码 生成它,但我仍然得到p值为0.0000?任何人都可以帮助我吗?
double p;
int max;
int min;
max=1;
min=0;
p= (double)(rand() % (max - min + 1) + min);
答案 0 :(得分:1)
尝试以下
p = rand() / (double)RAND_MAX;
答案 1 :(得分:0)
您可以使用drand48
;为了您的信息,最新的C ++ 11标准具有强大的标准随机库。
如果您不想使用drand48
,则可能会编写例如((double) (rand() % 10000000)) * 1.0e-6
但我不建议这样做。
答案 2 :(得分:0)