c语言中rand()函数产生随机数

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

srand和rand()配合使用产生伪随机数序列。rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。

srand(unsigned seed)通过参数seed改变系统提供的种子值,从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的“随机”。通常可以利用系统时间来改变系统的种子值,即srand(time(NULL)),可以为rand函数提供不同的种子值,进而产生不同的随机数序列

srand函数是随机数发生器的初始化函数。原型:void srand(unsigned int seed);

#include

#include

#include

#define D (24*60*60)

#define H (60*60)

#define M (60)

void main()

{

int i;

int s[10];

srand((unsigned)time(NULL));//此函数用于产生随机种子

//srand函数是随机数发生器的初始化函数。原型:voidsrand(unsigned int seed);

for(i=0;i<10;i++)

s[i]=rand();

printf("输出产生的10个随机数如下:\n\n");

for(i=0;i<10;i++)

printf("第%d个随机数为:%d\n\n",i+1,s[i]);

time_t t;

time(&t);

long time=t%D;

int h=time/H;

time=time%H;

int m=time/M;

time=time%M;

int f=time;

printf("time is %02d:%02d:%02d\n",h,m,f);

//得到的结果是国际标准时由于中国处在东8区有8个小时的时差

printf("得到的结果是国际标准时由于中国处在东8区有8个小时的时差\n");

printf("time is %02d:%02d:%02d\n",h+8,m,f);

}

程序运行结果:

相关文档
最新文档