活动介绍

基于rand()与srand()生成随机数方法总结

preview
共1个文件
txt:1个
需积分: 0 0 下载量 50 浏览量 更新于2025-07-26 收藏 320B ZIP 举报
资源下载链接为: https://pan.quark.cn/s/67c535f75d4c rand() 和 srand() 是 C++ 标准库 <cstdlib> 中用于生成伪随机数的两个函数。rand() 用于生成随机整数,而 srand() 则用于设置随机数生成器的种子值。 rand() 函数 rand() 函数返回一个介于 seed 和 RAND_MAX(值为 0x7fff)之间的随机整数,其中 seed 是通过 srand() 设置的种子值。当 rand() 被调用时,它会检查是否之前调用过 srand(seed)。如果调用过,就使用该种子值初始化随机数生成器;否则,会自动使用 srand(1) 初始化。 srand() 函数 srand() 用于初始化 rand() 的种子值,其参数 seed 决定了随机数生成器的初始状态。虽然可以多次调用 srand(),但只有第一次调用有效,后续调用会被忽略。 生成随机数的方法 要生成随机数,必须先调用 srand() 设置种子值,然后通过 rand() 生成随机数。为了在每次程序运行时生成不同的随机数,需要为 srand() 提供不同的种子值,例如使用当前系统时间作为种子值:srand((unsigned)time(0))。这样,每次程序运行时,随机数生成器的种子值都会不同,从而生成不同的随机数。 生成指定范围的随机整数 要生成指定范围 [a, b) 之间的随机整数,可以使用公式 (rand() % (b - a)) + a。例如,要生成 0 到 6 之间的随机整数,可以使用 rand() % 6。 生成伪随机浮点数 要生成 0 到 1 之间的随机浮点数,可以使用公式 rand() / (double)RAND_MAX。如果需要更大范围的随机浮点数,可以将分母改为 RAND_MAX / 范围。例如,要生成 1 到 10 之间
身份认证 购VIP最低享 7 折!
30元优惠券