如何在C ++中生成随机浮点数?

在C或C ++中,我们不能直接创建随机浮点数。我们可以使用一些技巧来创建随机浮点数。我们将创建两个随机整数值,然后将它们相除以获得随机浮点值。

有时它可能会生成一个整数商,因此为了降低这种可能性,我们将结果与某个浮点常数(例如0.5)相乘。

示例

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
main() {
   srand((unsigned int)time(NULL));
   float a = 5.0;
   for (int i=0;i<20;i++)
      cout << (float(rand())/float((RAND_MAX)) * a) << endl;
}

输出结果

2.07648
4.3115
1.31092
2.22465
2.17292
1.48381
1.91137
0.56505
2.24326
4.44517
3.1695
2.39067
1.89062
4.35881
4.17524
0.189673
1.87521
1.76916
2.3217
2.20481