本帖最后由 梦醒尸还魂↘___ 于 2014-4-26 15:31 编辑
这是我做的一个笔记,应该可以看的懂吧,还有个例子,我有很详细的注释,不明白可以继续问
rand, srand 原型: void srand(unsigned seed); 用法: srand和rand()配合使用产生伪随机数序列。rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。 srand(unsignedseed)通过参数seed改变系统提供的种子值,从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的“随机”。通常可以利用系统时间来改变系统的种子值,即srand(time(NULL)),可以为rand函数提供不同的种子值,进而产生不同的随机数序列 - #include<iostream>
- #include<iomanip>
- #include<ctime> //time(NULL)的头文件
- #include<cstdlib> //产生伪随机数函数头文件
- usingnamespace std;
- constint TestNum = 6000;
- inline int RandI (int N) //函数rand()可产生0到RAND_MAX的整数(RAND_MAX=0xfffu(32767)
- {
- return rand()%N+1; //获取0-N-1之间的随机整数可采用rand()%N,
- } // 此处N=6,因为骰子数值是0~6,
- // inline double Rand(){returndouble (rand())/RAND_MAX;}产生0~1之间
- voidTestDice() // 的随机浮点数
- {
- int Freq[6]={0}, Face, i;
- //seed伪随机数种子,由于time(NULL)是unsigned int 类型,所以要用
- srand(int(time(NULL))); //int(time(NULL))强行转换为int类型,time(0)程序启动的时候读
复制代码
|