C语言中rand的用法

 2024-03-21 04:06:26  阅读 0

对于(i=0;我

("%d/n", rand() % 100);

0;

除了上述之外,还需要补充一点的是,srand函数一定要放在循环之外或者循环调用之外,否则会得到同样的数字。

来自 MSDN 的示例。

// 。C

// 这种子 -

// 随着时间,然后是 10。

//

#

#

#

int 主函数(无效)

整数我;

// 用时间播种 - 以便

// 每次我们运行时都会如此。

//

srand( ()时间( NULL ) );

// 10.

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

(“%6d/n”,rand());

(“/n”);

// ,你会想要一个范围内的,

// 比如0到100,像这样:

整数=0;

整数=100;

对于 (i = 0; i < 10; i++)

int = ((() 兰特() /

() ) * + );

(“%6d/n”,);

兰特用法总结:

我们知道rand()函数可以用来生成随机数,但这并不是真正意义上的随机数。 它是基于数字的伪随机数。 我们可以称其为种子。 它是基于一定的递归。 通过公式计算出的系数,当数列非常大时,与正常发表的一致,相当于生成随机数,但这并不是真正的随机数。 当计算机正常开机时,这个种子的值是固定的。 是的,除非你破坏了系统,否则为了改变这个种子的值,C提供了srand()函数。 它的原型是void srand(int a)。 函数是

初始化随机生成器是rand()函数的初始值,即使种子值改为a; 由此可以看出,通过sand()函数,我们可以生成一个可预测的随机序列

那么我们如何生成不可预测的随机序列呢? 我们可能经常需要这样的随机序列,对吧。 使用srand(()(time(NULL))是一种方法,因为每次运行程序的时间都不一样。顺便说一下,你知道time()函数的作用是返回从1970/开始的秒数01/01到现在。只是在数。可能开始时间不正确。检查一下是否正确。C还提供了另一个更方便的函数,()

原型为void(),作用是初始化rand()的种子初始值,该值是不确定的。 相当于srand(()(time(NULL)),但是需要注意的是,()函数必须通过time来实现,所以在调用它的时候,头文件中必须包含time.h。

标签: 函数 序列 初始

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码