网站建设资讯

NEWS

网站建设资讯

c语言生成随机数的函数 随机生成数字的函数c语言

C语言生成随机数的函数,为什么循环后随机数都一样?

srand()函数是初始化随机数产生器,它产生随机数种子,说白了就是初始化随机数。

创新互联建站是一家集网站建设,新市企业网站建设,新市品牌网站建设,网站定制,新市网站建设报价,网络营销,网络优化,新市网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

srand((unsigned)time(0));取的是系统时间,也就是距离1970.1.1午夜有多少秒。而for循环每循环一次时间远远小于1秒,这就导致了srand((unsigned)time(0))产生的种子并没有改变。 那么,相同的随机数种子所产生的随机数肯定是一样的了。

扩展资料:

C语言产生随机数的方法:

1,在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数。

2,C语言中的随机函数random,可是random函数并不是ANSI C标准,所以说,random函数不能在gcc,vc等编译器下编译通过。

3,rand()会返回一随机数值,范围在0至RAND_MAX 间。返回0至RAND_MAX之间的随机数值,RAND_MAX定义在stdlib.h,(其值至少为32767)我运算的结果是一个不定的数,要看你定义的变量类型,int整形的话就是32767。

4,在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。一般用for语句来设置种子的个数。

C语言中产生随机数的函数是什么?

分类: 电脑/网络 程序设计 其他编程语言

问题描述:

C语言中产生随机数的函数是什么?(好象有两个)以及这两个函数的头文件是什么?

解析:

#include stdio.h

#include stdlib.h

#include time.h

void main()

{

int i;

srand((unsigned)time(NULL));

i = rand() % 100;

}

这样产生的随机数就是0-99之间的,

这二个函数的工作过程如下:

1) 首先给srand()提供一个种子,它是一个unsigned int类型,其取值范围从0~65535;

2) 然后调用rand(),它会根据提供给srand()的种子值返回一个随机数(在0到32767之间)

3) 根据需要多次调用rand(),从而不间断地得到新的随机数;

4) 无论什么时候,都可以给srand()提供一个新的种子,从而进一步“随机化”rand()的输出结果。

c语言随机数函数是什么?

C语言随机函数主要用于实现一组随机数的生成。

代码示例如下:

#includestdio.h

#includestdlib.h

int main ()

{

int a;

a=rand()%4;

printf("%d\n",a);

return 0;

}

C预先生成一组随机数,每次调用随机函数时从指针所指向的位置开始取值,因此使用rand()重复运行程序产生的随机数都是相同的,可以通过srand()函数来改变指针位置。

扩展资料:

C语言随机函数指针位置

void srand( unsigned int seed )

改变随机数表的指针位置(用seed变量控制)。一般配合time(NULL)使用,因为时间每时每刻都在改变,产生的seed值都不同。

基于毫秒级随机数产生方法:

#includewindows.h

种子设为:srand(unsigned int seed);

srand(GetTickCount());

参考资料:百度百科-C语言随机函数

c语言随机数怎么生成

在实际编程中,我们经常需要生成随机数。在c语言中我们通常使用rand方法生成随机数,在调用rand前需要调用srand初始化随机数种子。

电脑:华为MateBook14

系统:Windows10

软件:notepad++等编辑器、gcc编译器1.0

1、使用rand函数生成随机数,rand随机生成一个位于0 ~ RAND_MAX之间的整数。如下图中,我们直接使用rand方法生成10个随机数。

2、程序运行后生成了随机数,但直接使用rand的问题在于,在下次程序调用时,生成的随机数与上次一致。所以,rand函数虽然生成随机数,但可以说是一个伪随机。因为每次调用时,生成数字顺序都是固定的。

3、为了在每次调用时生成不同的随机数,使用srand函数初始化随机数种子。只要随机数种子变化了,那么生成的随机数就会改变。通常,srand使用当前时间作为种子。

4、但使用时间作为随机数种子是否安全呢?我们目前程序执行的速度都太快了,一秒钟对于计算机来说太漫长了。我们将生成随机数的操作定义为函数,然后调用函数两次,看生成的随机数仍然时一样。

5、优化函数也比较简单,在使用时间的基础上,我们还加上一个定增序号。这样能保证就算同一秒钟内多次调用,随机数的种子都是不一样的。

6、通常,我们需要获取一定范围内的随机数。所以,在生成随机数之后我们使用模运算获取对应范围内的数据。如生成0到100内的随机数。


名称栏目:c语言生成随机数的函数 随机生成数字的函数c语言
文章出自:http://cdweb.net/article/hgcgih.html