srand()和rand()

来源:互联网 发布:红蜻蜓软件 编辑:程序博客网 时间:2024/05/19 12:39

srand()是随机数种子,s表示seed,种子的意思。

rand()可以产生0到RAND_MAX(32767)之间的随机数,用rand()%x可以得到0到x之间的随机数。

srand()和rand()都需要用到stdlib.h。

srand()的种子主要有两种,srand(1)和srand((unsigned)time(NULL)),前者生成的随机数每次都是相等的,后者则是根据现在在走的时间取的随机数,是真随机数。

附上验证代码:

#include<iostream>#include<vector>#include<time.h>     //是C/C++中的日期和时间头文件。用于需要时间方面的函数#include<stdlib.h>  //定义了RAND_MAX,srand()等using namespace std;int main() {srand(1);for (int i = 0; i < 10; ++i) {cout << rand() << ' ';}cout << endl;}

运行了三次,输出的都是下面的结果:


#include<iostream>#include<vector>#include<time.h>     //是C/C++中的日期和时间头文件。用于需要时间方面的函数#include<stdlib.h>  //定义了RAND_MAX,srand()等using namespace std;int main() {srand((unsigned)time(NULL));   //srand((unsigned)time(0))也可for (int i = 0; i < 10; ++i) {cout << rand()%10 << ' ';}cout << endl;}

运行三次,结果各异:





原创粉丝点击