rand()函数

C++学习记录:rand()函数

rand()函数的用法如下:

  1. 不同于MATLAB,C++中的rand()不需要输入任何参数,使用它生成的随机数的范围为0~最大随机数。其中,最大随机数指的是一个固定的大整数。(注意,这里生成的随机数是一个整数);

  2. 如果要产生一个a~b之间的随机整数,可采用如下公式:

    rand() % (b-a+1)+ a
    

    例如,现在想要产生一个0~99之间的整数,表达式为:

    int num = rand() % 100; 
    
  3. 那如果我们想得到一个小数该怎么办呢?

若要产生0~1之间“随机到十分位”(比如0.1,0.2等等)的小数,则可以先产生0~10的整数,然后除以10即可;

若要产生0~1之间“随机到百分位”(比如0.01,0.66等等)的小数,则可以先产生0~100的整数,然后除以100即可。

其它情况依此类推。

  1. 会发现每次程序运行的时候rand()产生的随机数与上一次是相同的,这样做是为了便于程序的调试。

如果想要要每次产生不同的随机数,则可以使用srand(seed)函数产生随机化种子,seed不同,产生的随机数就不同,一般可以用time(0)作seed,即srand(time(0)),这样就可以使每次程序运行时生成不同的随机数。(注意,time(0)指的是获取当前时间),使用时需包含time.h头文件。

-------------本文结束感谢您的阅读-------------