首页后端开发其他后端知识c语言strand函数 strand在c语言

c语言strand函数 strand在c语言

时间2023-04-21 02:57:01发布访客分类其他后端知识浏览758
导读:C++中srand()的作用是什么 srand 是产生伪随机数的函数,只要给定一个种子seed就会产生一组随机数。strand((unsigned time(NULL srand函数是初始化随机数生成函数。 原型:void函数srand...

C++中srand()的作用是什么

srand 是产生伪随机数的函数,只要给定一个种子seed就会产生一组随机数。

strand((unsigned)time(NULL))

srand函数是初始化随机数生成函数。

原型:void函数srand(无符号种子);

用法:它需要提供一个种子,种子将对应一个随机数,如果您使用兰特背后相同的种子()函数将显示为一个随机数。如:函数srand(1); 直接用于初始化一个种子。然而,为了防止随机数的重复每次,经常用于初始化系统时间的使用时间,以获取系统时间函数,它返回一个值从00:00:00 GMT,1970年1月1日的秒到现在数,然后time_t的数据类型转换(无符号)类型,然后通过srand函数,即:函数srand((无符号)时间(&T)); 还有一个常见的用法,time_t类型吨需要定义变量,即:函数srand((无符号)时间(NULL)); 直接传递一个空指针,因为你往往不需要通过获得的t数据的程序参数。

例如:#包括中

#包括中

#包括 / *使用时间的功能,所以必须有头文件* /

#定义最大10

国际主要(无效)

{

整型数[MAX] = { 0} ;

INT I;

函数srand((无符号)时间(NULL)); / *播种子* /

就(i = 0我“最大,我+ +)

{

数量由[i] = RAND()%100; / *生成在100 * /

printf的一个随机整数(“%d个”,数量由[i]);

的printf(“\ n”);

返回0;

}

strand(time(null)) 在C语言中 为什么可以 随机化数种子 原形是什么

在C语言中获取随机数的函数是rand();  

一个合格的随机数值必须由获取到的值足够散列,以及值不可预知的特性,但如果不做任何处理直接调用rand(),那么得到的值是固定的。下面是一个例子:

#include stdio.h

#include stdlib.h

int main()

{

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

        printf("%d\n", rand()); //获取10次随机数并打印。

        

    return 0;

}

运行这个程序,看起来没什么问题,因为获取到的10个数字都是散列的,很有随机数的感觉。但重复运行这个程序就会发现,每次运行得到的十个数都是同样的,这个并不符合不可预知的特性。

所以C语言中的随机数函数rand()被称为伪随机数。

通过srand函数,可以让这个伪随机数更“真”一些,它的原理是设置一个随机数种子,然后后续的随机数依赖于种子值。

#include stdio.h

#include stdlib.h

int main()

{

    for(i = 0;  i  100000;  i += 10000)

    {

        srand(i);

        printf("%d\n", rand()); //获取10次随机数并打印。

    }

        

    return 0;

}

反复运行这个程序,会发现,相同的随机数种子获取到的随机数值同样是相同的。这样这个随机数种子值又不能是固定值了,于是需要想办法让这个种子值有变化。

让这个值有变化的方法有很多种,最常用的就是通过时间函数time()。这个函数是获取当前时间值的,单位是毫秒。通常的调用方式是time(NULL);

用这个值来做随机数种子可以让每次调用得到的种子值不同,因为要达到完全相同的效果,必须要在毫秒级的相同时间下同时执行,这个概率太低了。

于是time(NULL)就成了最常用的随机数种子。

以上就是srand(time(NULL)); 经常放在随机数发生前作为随机数种子的原因了。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: c语言strand函数 strand在c语言
本文地址: https://pptw.com/jishu/4264.html
c语言函数先于main c语言程序中的main 函数必须放在程序的开始部分 从用户角度看c语言函数 从用户使用的角度来看,函数分为

游客 回复需填写必要信息