您的位置:首页 > 其它

随机数rand()

2018-04-06 19:05 197 查看
对于许多人来说,随机数产生会混淆不清,博主采用了最简单的方法对比;虽然看似简单,但是理解就好!!!
#include <stdio.h>
#include <time.h> // time函数
#include <stdlib.h>
int main(int argc, char const *argv[])
{
int i,number;
// 第一种
for (i=0; i<5; i++)
printf("%5d\t",rand());

printf("\n") ;
printf("\n") ;

//第二种
printf("%5d ",rand());
printf("%5d ",rand());
printf("%5d ",rand());
printf("%5d ",rand());
printf("%5d ",rand());

printf("\n") ;
printf("\n") ;

// 第三种
for (i=0; i<5; i++)
{
srand(i) ; // 种子数虽然也变化,但是变化太小!!!
printf("%5d\t",rand());
}

printf("\n") ;
printf("\n") ;

/*
以上程序表明rand()随机函数,调用并不会真正意义产生随机数,只是产生伪随机数。
如果未主调rand() 函数,系统默认调用srand()函数,但是并不会产生真正意义的随机数,只是“增长序列数”
srand(seek)   种子seek不变的话,产生的数也是不变的!!!
*/

// 第四种
srand(time(NULL)*100 );//srand(time(0) );设定随机数种子; *10 是为了增大随机性
for(i=0 ;i<5 ;i++)
printf("%5d\t" ,rand()%101 ) ; //% 101; //产生0-100的随机数

printf("\n") ;
printf("\n") ;

// rand()%m + n ; // -----即可产生n到m+n-1范围的随机数
return 0;
}
通常一般采用time(0)作为随机数种子!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  rand() srand() 随机数