srand((unsigned)time(NULL));是什么意思

供稿:hz-xin.com     日期:2025-01-14
c语言中 srand((unsigned)time(NULL)); 这句话是什么意思(尤其是 NULL)

srand()函数用来设置算法的种子,time(NULL)返回当前的时间,先调用srand(time(NULL))是把当前的时间作为种子,是程序每次运行产生不同的随机数序列。
涉及到三个概念:
1、随机数:数学上产生的都是伪随机数,真正的随机数使用物理方法产生的。
2、随机数种子:随机数的产生是由算术规则产生的,srand(seed)的随机数种子不同,rand()的随机数值就不同,倘若每次的随机数种子一样,则rand()的值就一样。所以要产生随机数,则srand(seed)的随机数种子必须也要随机的。
3、用srand()产生随机数种子
原型:void srand ( unsigned int seed )。作用是设置好随机数种子,为了让随机数种子是随机的,通常用time(NULL)的值来当seed。

扩展资料:
C语言其他产生随机数的方法。
1、函数名: rand
功能: 随机数发生器
用法: void rand(void);
程序例:

2、函数名: random
功能: 随机数发生器
用法: int random(int num);
程序例:

3、函数名: randomize
功能: 初始化随机数发生器
用法: void randomize(void);
程序例:

参考资料来源:百度百科--srand

srand()函数用来设置算法的种子,time(NULL)返回当前的时间,先调用srand(time(NULL))是把当前的时间作为种子,是程序每次运行产生不同的随机数序列。
涉及到三个概念:
1、随机数:数学上产生的都是伪随机数,真正的随机数使用物理方法产生的。
2、随机数种子:随机数的产生是由算术规则产生的,srand(seed)的随机数种子不同,rand()的随机数值就不同,倘若每次的随机数种子一样,则rand()的值就一样。所以要产生随机数,则srand(seed)的随机数种子必须也要随机的。
3、用srand()产生随机数种子
原型:void srand ( unsigned int seed )。作用是设置好随机数种子,为了让随机数种子是随机的,通常用time(NULL)的值来当seed。

扩展资料:
C语言其他产生随机数的方法。
1、函数名: rand
功能: 随机数发生器
用法: void rand(void);
程序例:

2、函数名: random
功能: 随机数发生器
用法: int random(int num);
程序例:

3、函数名: randomize
功能: 初始化随机数发生器
用法: void randomize(void);
程序例:

参考资料来源:百度百科--srand

srand()函数用来设置算法的种子,time(NULL)返回当前的时间,先调用srand(time(NULL))是把当前的时间作为种子,是程序每次运行产生不同的随机数序列。

涉及到三个概念:

1、随机数:数学上产生的都是伪随机数,真正的随机数使用物理方法产生的。

2、随机数种子:随机数的产生是由算术规则产生的,srand(seed)的随机数种子不同,rand()的随机数值就不同,倘若每次的随机数种子一样,则rand()的值就一样。所以要产生随机数,则srand(seed)的随机数种子必须也要随机的。

3、用srand()产生随机数种子

原型:void srand ( unsigned int seed )。作用是设置好随机数种子,为了让随机数种子是随机的,通常用time(NULL)的值来当seed。

扩展资料:

C语言其他产生随机数的方法。

1、函数名: rand

功能: 随机数发生器

用法: void rand(void);

程序例:

2、函数名: random

功能: 随机数发生器

用法: int random(int num);

程序例:

3、函数名: randomize

功能: 初始化随机数发生器

用法: void randomize(void);

程序例:

参考资料来源:百度百科--srand



初始化随机函数种子,srand((unsigned)time(NULL));是拿系统时间作为种子,由于时间是变化的,种子变化,可以产生不相同的随机数。

使用时,参数可以是unsigned型的任意数据,比如srand(10);

如果不使用srand

用rand()产生的随机数,在多次运行,结果是一样的。

随机种子
rand 是随机函数
但是必须有一个不确定的随机种子才可以产生真正的随机数

srand((unsigned)time(NULL))
意思是取1970年1月1日到现在的秒数为随机种子

谁能结实一下C语言中随机srand和rand函数的区别
所以srand(unsigned t)一般是用机中的实时时间来启动的,因为实时时间的值每时每刻都在变化,这样启动的rand()函数产生的伪随机数序列就能达到以假乱真的效果。

一个有关随机函数rand()的小程序
随机函数rand()的小程序:#includeiostream#include time.h#include fstream#include windows.husing namespace std;unsigned t[300],temp;void creat_rand() \/\/产生随机数的函数{long i=1;cout"为您产生的随机数如下:"endl;srand(time(0)); \/\/用此函数设定种子值,使每次产生的随机数不一样for...

C语言srand和rand函数
rand()函数,一般根srand()函数一起用。它们在一起,作用是:产生一个随机数。通常格式为:srand ( (unsigned) time (NULL) );a=rand()%x; \/\/a,x,均为整型变量,其中,x在之前应被赋值。srand函数里面的unsigned也可以换成其它的。例如:int之类的数据类型,但结果也会有相应的变化。通过ra...

C语言srand((unsigned)time(NULL)); 是什么意思
srand函数是随机数发生器的初始化函数。原型:void srand(unsigned seed);用法:它需要提供一个种子,这个种子会对应一个随机数,如果使用相同的种子后面的rand()函数会出现一样的随机数。如: srand(1); 直接使用1来初始化种子。不过为了防止随机数每次重复,常常使用系统时间来初始化,即使用 time函数...

srand((unsigned)((int)time(&t)*(i+1)))
t是当前系统时间变量,用它的地址&t调用函数时间函数time,将返回值强制为int型(time返回的是系统时间日历时)再乘以(i+1)后,再强制为unsigned int型;用这一unsigned int型结果为参数调用随机种子函数srand来预置系统的随机序列发生器的初始状态。这样做的目的是为了后面的rand函数产生的伪随机序列更逼真...

c语言中 srand((unsigned)time(NULL)); 这句话是什么意思(尤其是 NULL...
srand()函数用来设置算法的种子,time(NULL)返回当前的时间,先调用srand(time(NULL))是把当前的时间作为种子,是程序每次运行产生不同的随机数序列。涉及到三个概念:1、随机数:数学上产生的都是伪随机数,真正的随机数使用物理方法产生的。2、随机数种子:随机数的产生是由算术规则产生的,srand(s...

C语言如何产生一定范围内一定数量的不同随机数
m]long int pm_rand(void){ long hi = seed \/ q;long lo = seed % q;long tmp = a * lo - r * hi;if(tmp > 0)seed = tmp;else seed = tmp + m;return seed;} int main(void){ for(int i = 0;i < 100;++i)printf("%ld ",pm_rand());puts("");return 0;} ...

c++ rand()函数怎么用
rand()%3+1,在使用rand()前,要设置种子 srand(time(NULL)),比如:include <iostream>#include using namespace std;int main(){srand(time(NULL));int i,j;cout<<"随机10次的结果"<<endl;for (j=0;j<10;j++){i=rand()%3+1;cout<<i<<endl;}} ...

c语言中如何随机输出加减乘除
给定加减乘除的符号,给一个字符串,然后随机分配一个数,输出这个数所对应的字符串中的字符。include<stdio.h> main(){ float a,b;char c;printf("请按照这样的格式输入zhuan:a(+,-,*,\/)b\\n");scanf("%f%c%f",&a,&c,&b);switch(c){ case'+': printf("%f",a+b);break;case'-...

c++中rand()函数的范围
函数一:int rand(void);返回一个[0,RAND_MAX]间的随机整数。函数二:void srand(unsigned seed);参数seed是rand()的种子,用来初始化rand()的起始值。但是,要注意的是所谓的“伪随机数”指的并不是假的随机数。其实绝对的随机数只是一种理想状态的随机数,计算机只能生成相对的随机数即伪随机数...