在C++中实现一定范围的随机数的方式
要取得[a, b) 的随机整数,使用(rand() % (b - a)) + a;
要取得[a, b] 的随机整数,使用(rand() % (b - a + 1)) + a;
要取得(a, b] 的随机整数,使用(rand() % (b - a)) + a + 1;
srand((unsigned)time(NULL)):
-
time(NULL) 返回从 1970 年 1 月 1 日到现在经过的秒数(即当前时间的时间戳)。
-
(unsigned int) 是将时间戳转换为无符号整数类型,确保时间戳为正数。
-
srand 函数会以参数作为种子,初始化随机数生成器。由于种子不同,每次程序运行时生成的随机数序列也会不同。
案例代码
#include<iostream>
#include<ctime>
using namespace std;
int main() {
srand((unsigned)time(NULL));//根据时间进行随机数的生成
int x;
x = (rand()% 61 + 40); // 40 ~ 100
cout << x;
}