我想生成 0 到 1 之间的随机数(包括 0 和 1),但小数点后只有 3 位小数,如下所示:
0.000, 0.214, 0.523, 0.451, 0.102, 1.000
小数点后三位的目的不是为了打印。我想实现蒙特卡罗技术来获取 PI 的值。所以它适用于 if
语句。因此,我想将随机值分配给这样的变量:
double x = 0.241;
最佳答案
您可以生成一个 0 到 1000 之间的随机整数并将其除以 1000
以下 C 代码生成所需的随机值
#include <time.h>
#include <stdlib.h>
srand(time(NULL));
double r = (double)(rand()%1001)/1000;
关于c - 如何生成 [0,1] 之间具有 3 个分数的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26445101/