以下转载该博客部分内容:
主要代码: #include <cstdlib> #include <ctime> using namespace std; int main() { srand((int)time(0)); // 产生随机种子 把0换成NULL也行 有无 (int) 好像都行 int random=rand()%n; //随机产生0 ~ n-1的数 return 0; }
其他的随机数的范围通式
产生一定范围随机数的通用表示公式是:
要取得[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)。