TC中的srand和rand函数

转载 2006年05月27日 09:41:00

rand(void)用于产生一个伪随机unsigned int 整数。

srand(seed)用于给rand()函数设定种子。


srand 和 rand 应该组和使用。一般来说,srand 是对 rand 进行设置。

比如:
srand((UINT)GetCurrentTime());
int x = rand() % 100;

是生成 0 到 100 之间的随机数。

 

srand()是用来初始化随机种子数的,因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的,式子如下:

rand = rand*const_1 + c_var;

srand函数就是给它的第一个rand值。

 

 

#include   <stdlib.h>  
  #include   <stdio.h>  
  main()   {  
    int   i;  
    i=rand();//产生从0-RAND_MAX的任意一个值  
    printf("%d",i);  
  }  
  如果第一次运行程序打印   5   的话,那么以后只要运行这个程序,打印都是   5;  
  如果在   i=rand();语句前加上srand(time(NULL))用系统时间做初始化的话,就会产生不同的打印结果,只要srand()的参数不同,就会产生不同的随机数的。  
NULL是在头文件里预定义的 NULL = 0;
是不固定的,它是根据你当前系统的时间来产生随机数

rand和srand的用法(转载)

  首先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand产生随机数,下面将详细说明。rand(产生随机数)表头文件: #include 定义函数 :int rand(vo...
  • xiaoxiongli
  • xiaoxiongli
  • 2007年06月26日 15:01
  • 18809

rand、srand的实现机制

rand和srand是用于产生伪随机数的两个函数,根据参考手册rand的返回值是在[0, RAND_MAX]之间的数据,RAND_MAX在不同的系统中数值有所不同。 以下是rand和srand实现方...
  • Cashey1991
  • Cashey1991
  • 2012年09月03日 16:40
  • 4237

srand()以及rand()函数用法(zz)

 srand()就是给rand()提供种子seed 如果srand每次输入的数值是一样的,那么每次运行产生的随机数也是一样的,srand(n)for(10)rand()也就是说,以一个固定的数值作为...
  • zqy2000zqy
  • zqy2000zqy
  • 2006年09月04日 09:39
  • 129276

C++中的srand()和rand()用法解析

C++中的srand()和rand()用法解析
  • u012333003
  • u012333003
  • 2014年03月04日 21:16
  • 1600

<stdlib.h>中的随机数产生函数rand,random,srand,srandom的一些知识

1、int rand()产生一个从0到最大整数之间的一个随机数,但是每次程序启动后产生的随机数在时间顺序上都是一样的。 如: #include #include int main(){ ...
  • zgrjkflmkyc
  • zgrjkflmkyc
  • 2013年05月24日 21:04
  • 3259

产生随机数————srand函数与rand函数的使用

rand()的使用方法,srand(value)的使用方法,rand()与srand(value)的关系,rand()产生随机数的原理与细节分析...
  • zl_130
  • zl_130
  • 2016年08月22日 18:02
  • 1725

使VC++中的srand rand 简单具备线程安全

如果不考虑把代码封装到一起,可以在每一个线程中调用srand ,这种做法其实也是最标准的,如果代码中要用到随机数的地方比较多,还是不要把srand与rand封装到一起。   如果每个线程会用到的比...
  • Gnorth
  • Gnorth
  • 2013年03月22日 11:56
  • 1406

srand函数与rand函数的使用方法及区别

rand函数 函数头文件:stdlib.h 函数定义:int rand(void) 函数功能:产生一个随机数 函数说明:rand函数产生的随机数严格意义讲不是真正的随机数,它里面采用了线性同余...
  • gdgui_1014
  • gdgui_1014
  • 2017年08月06日 19:07
  • 292

随机函数 rand() srand() 以及seed的原理

标准库(被包含于中)提供两个帮助生成伪随机数的函数: 函数一:int rand(void);               从srand (seed)中指定的seed开始,返回一个[seed, R...
  • feige2008
  • feige2008
  • 2011年11月07日 16:35
  • 7752

awk rand函数问题

awk -v rand_str=$RANDOM '      47     BEGIN{m_num=ARGV[2]; s_num=ARGV[3]; srand(rand_str);      48...
  • wangran51
  • wangran51
  • 2013年07月01日 16:59
  • 1144
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TC中的srand和rand函数
举报原因:
原因补充:

(最多只允许输入30个字)