C++产生随机数
rand()函数
#include<iostream>
#include<cstdlib>
using namespace std;
int main(){
for(int i=0;i<10;i++){
cout << rand()%100 << " ";
}
return 0;
}
rand()函数的内部实现是用线性同余法做的,所以生成的并不是真正的随机数,上面的程序执行三次,会发现。。。
srand()
所以需要srand()来设置rand()产生随机数时的随机数种子,不同的种子才能得到不同的随机数序列。
可以利用srand((int)(time(NULL))的方法,利用系统时钟,产生不同的随机种子
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main(){
srand((int)time(0));
for(int i=0;i<10;i++){
cout << rand()%100 << " ";
}
return 0;
}