c语言sand函数 c语言3%d

C语言中的随机数的问题

rand()函数产生随机数的原理···不清楚。但是他是一个#includestdlib.h

成都创新互联-专业网站定制、快速模板网站建设、高性价比康平网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式康平网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖康平地区。费用合理售后完善,10年实体公司更值得信赖。

里的函数。

他的范围是0-RAND_MAX....这个值不小于32767(这是ANSI标准规定的)

提到这个,顺便帮楼主提一下。这个是伪随机数。

也就是一旦你运行过后,你每次得到的那组随机数肯定是一样的。。

这也就是伪所在。他的单次是随机(单次不是指单个,是指你单次编译,也就是你下次再运行这个程序,结果是一样的,没有真正随机)

一般用于取范围内随机数。

rand()%a;

比如取100以内的随机数

rand()%100;

或者骰子的时候取6

rand()%6.模拟每次得到的点数··

还有发牌。多用于赌博模拟中。

这时就引进另一个srand();

有了这个。才能保存rand()每次真正的随机性能。

一般这个的用法,现在用得比较多的是用电脑的时间 做值

也就是srand(time(NULL);

然后后面你得到的rand()每次运行结果就不一样了。

这个要加个头文件#includetime.h

要还 不清楚就hi我

c语言中,rand函数为什么得依赖sand()函数

rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数(我们可以称它为种子)为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值,C提供了 srand()函数,它的原形是void srand( int a) 功能是初始化随机产生器既rand()函数的初始值,即使把种子的值改成a; 从这你可以看到通过sand()函数,我们是可以产生可以预见的随机序列,那我们如何才能产生不可预见的随机序列呢?我们可能常常需要这样的随机序列,利用srand((unsign)(time(NULL))是一种方法。

c语言中,rand函数为什么得依赖sand()函数?

rand();函数产生的是伪随机,如果不用srand();提供种子,那他每次的随机数都是一样;可以这样设置种子:srand( (int)time(NULL) );\\用时间来做种子,这样每次用rand();产生的随机数就不一样了。

C中,rand()是什么意思,有什么作用

rand()是表示产生随机数的一种函数,多应用于循环语句当中进行判断。

比如说n=rand();

switch(n)

{case1.......

case2......}

这些都是都可能被执行的,因为数字是随机的。

扩展资料:

注意

rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种了,为基准以某个递推公式推算出来的一系数,

当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值,C提供了 srand()函数,它的原形是void srand( int a) ,

功能是初始化随机产生器既rand()函数的初始值,即使把种子的值改成a; 从这你可以看到通过sand()函数,可以产生可以预见的随机序列。

参考资料来源:rand函数-百度百科

C语言随机函数

rand

和random都是伪随机函数,一般直接读取时间来做种子(sand(time))的也是不怎能随机的

我给你一个我以前写的,真正的随机:

int

myrand(void)

{

int

seed

;

asm

("rdtsc"

:

"=A"

(seed))

;

srand((unsigned

int)seed);

return

rand();

}


网站名称:c语言sand函数 c语言3%d
文章地址:http://pwwzsj.com/article/hpdegc.html