一、int rand(void);
- 函数所在的头文件是stdlib.h;
- 其内部实现线性同除法,不是真正的随机数。通常rand()%x是指在x范围内取模,返回值0-x;
- 系统默认随机种子是1;
二、void srand(unsigned int seed);
- 函数所在的头文件是stdlib.h;
- srand()用来设置rand()产生随机数时的随机数种子;
- 参数seed必须是个整数,通常可以利用time(0)的返回值或NULL来当做seed;
三、二者联系
rand()和srand()要一起使用,其中srand()用来初始化随机数种子,rand()用来产生随机数。
四、公式
通用公式:a + rand() % n ;其中的a是起始值,n是整数的范围。
1.rand() % (b-a))+ a ——含a不含b;
2.rand() % (b-a+1))+ a ——含a和b;
3.rand() % (b-a))+ a + 1 ——不含a含b;
五、程序实例
#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std; int main(){
srand(unsigned(time(NULL));
for(int i=0;i<10;i++){
cout<<rand()%100+1<<"/t";
return 0;
}