C++ 生成随机数

 
#include <cstdio>
#include <cstdlib>
#include <ctime> 

srand(time(NULL)); // 设置随机数种子

// 0~1之间的浮点数;1~10可改为 rand() /(double)(RAND_MAX/10),
double x = (double)rand() / RAND_MAX;

  0.327769
  0.393658
  0.106876
  0.767449
  0.326518
  0.859951
  0.927732
  0.727439
  0.699026
  0.007202
  0.236152
  0.803858
  0.169134
  0.983917
  0.063356
  0.534806

 

C++中用rand()和srand()产生为随机数方法介绍

 
 
 

其他的随机数的范围通式

产生一定范围随机数的通用表示公式是:

要取得[0,n)  就是rand()%n     表示 从0到n-1的数

要取得[a,b)的随机整数,使用(rand() % (b-a))+ a; 

要取得[a,b]的随机整数,使用(rand() % (b-a+1))+ a; 

要取得(a,b]的随机整数,使用(rand() % (b-a))+ a + 1; 

通用公式:a + rand() % n;其中的a是起始值,n是整数的范围。

 
要取得a到b之间的随机整数,另一种表示:a + (int)b * rand() / (RAND_MAX + 1)。 

要取得0~1之间的浮点数,可以使用rand() / double(RAND_MAX)。

 
 
 
随机生成  [a, b)  的浮点数
x = a + 1.0 * (rand() % RAND_MAX) / RAND_MAX * (b - a);
 
随机生成  [a,b]  的浮点数
 x = a + 1.0 * rand() / RAND_MAX * (b - a);
 
 
 
 
 
 
 
 

 

 
posted @ 2020-09-28 21:44  cralor  阅读(356)  评论(0编辑  收藏  举报