C++的rand()函数详细用法

rand()函数是C++标准库中的一个伪随机数生成器,它返回一个在0到RAND_MAX之间的整数,其中RAND_MAX是一个常量,通常定义为32767。由于rand()函数生成的随机数序列是固定的,因此在使用rand()函数之前,通常需要调用srand()函数初始化随机数种子。

srand()函数接受一个无符号整数作为参数,用于初始化随机数种子。通常可以使用当前时间作为随机数种子,如下所示:

#include <cstdlib>
#include <ctime>

int main() {
    srand(time(NULL)); // 使用当前时间作为随机数种子
    int x = rand(); // 生成一个随机数
    return 0;
}

上面的代码中,srand(time(NULL))调用了srand()函数初始化随机数种子。time(NULL)返回当前时间,因此每次运行程序时,随机数种子都不同。这样就可以生成不同的随机数序列。

如果要生成一个指定范围内的随机整数,可以使用取模运算符(%)将rand()函数的返回值对范围大小取模。例如,要生成一个0到99之间的随机整数,可以这样写:

int x = rand() % 100;

上面的代码中,rand() % 100调用了rand()函数生成一个随机整数,并对100取模,得到一个0到99之间的随机整数。

如果要生成一个指定范围内的随机浮点数,可以这样写:

double x = (double)rand() / RAND_MAX * (max - min) + min;

其中,minmax分别表示随机数的最小值和最大值。上面的代码中,(double)rand() / RAND_MAX * (max - min) + min调用了rand()函数生成一个随机整数,并将其转换为浮点数。然后除以RAND_MAX得到一个0到1之间的随机浮点数。最后乘以(max - min)并加上min得到一个在指定范围内的随机浮点数。

这就是rand()函数和srand()函数的详细用法。

  • 7
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值