c语言随机函数种子用法 c语言随机种子有哪些

C语言中的rand()函数怎么用rand()
rand()函数用来产生随机数 , 但是,rand()的内部实现是用线性同余法实现的,是伪随机数 , 由于周期较长,因此在一定范围内可以看成是随机的 。
rand()会返回一个范围在0到RAND_MAX(至少是32767)之间的伪随机数(整数) 。
在调用rand()函数之前 , 可以使用srand()函数设置随机数种子,如果没有设置随机数种子,rand()函数在调用时,自动设计随机数种子为1 。随机种子相同,每次产生的随机数也会相同 。
rand()函数需要的头文件是:stdlib.h
rand()函数原型:int rand(void);
使用rand()函数产生1-100以内的随机整数:int number1 = rand() % 100+1 。
srand()
srand()函数需要的头文件仍然是:stdlib.h
srand()函数原型:void srand (usigned int seed);
srand()用来设置rand()产生随机数时的随机数种子 。参数seed是整数,通常可以利用time(0)或getpid(0)的返回值作为seed 。
使用rand()和srand()产生1-100以内的随机整数:
srand(time(0));
int number1 = rand() % 100+1 。
c语言中的随机数种子首先告诉你随机数种子是什么东东.
电脑不是人 , 不能随便就凭空想象一个数字出来 。所谓的随机数,不过是通过一个函数经过计算出来的数字而已 。因此,随机数不过是函数计算出来的值,而一个函数要得到这个值Y , 肯定需要一个输入X,所以X就是那个种子 。
简单点说 Y = function(x);
随机数=Y,随机数种子=X 。
第二,rand()%Y+1是什么意思 。首先你要弄懂%是什么意思,是取余运算 。
举个例子 10 % 3 = 110 % 5 = 0;就是得到余数 。
余数的范围永远是从 0到被除数-1 不可能等于被除数 。
所以rand()%Y的意思就是 得到一个随机数,这个随机数的范围是从0到Y-1
再加1当然就是把这个随机数的范围确定在0到Y之间了
一般rand()%某数 都是用来指定取某个范围内的随机数的
这个for循环不过就是取打印10个0-99之间的随机数而已..
如果还不明白hi我
c语言中rand()函数怎么用?rand函数功能为获取一个伪随机数(伪随机数的概念下面会有介绍) 。
一、函数名:
rand();
二、声明:
int rand();
三、所在头文件:
stdlib.h
四、功能:
返回一个伪随机数 。之所以说是伪随机数,是因为在没有其它操作下,每次执行同一个程序 , 调用rand得到的随机数序列是固定的(不是真正的“随机”) 。
【c语言随机函数种子用法 c语言随机种子有哪些】五、为了使rand的结果更“真”一些,也就是令其返回值更具有随机性(不确定性),C语言在stdlib.h中还提供了srand函数 , 通过该函数可以设置一个随机数种子,一般用当前时间的毫秒数来做参数 。通过time(NULL)可以获取到当前时间的毫秒值(该函数位于time.h)中 。
六、使用rand的流程可以总结为:
1 调用srand(time(NULL))设置随机数种子 。
2 调用rand函数获取一个或一系列随机数 。
需要注意的是,srand只需要在所有rand调用前,被调用一次即可,没必要调用多次 。
七、以下是随机获取10个整型值并输出的例子 , 辅助理解 。
#include stdio.h
#include stdlib.h
#include time.h
int main()
{
int i;
srand(time(NULL));//设置随机数种子 。
for(i = 0; i10; i ++)//运行10次 。
printf("%d\n", rand());//每次获取一个随机数并输出 。
return 0;
}
C语言怎样设rand()的随机数种子?。?/h2>请使用C库函数srand()来设定随机数种子,其原型为:
void srand(
unsigned int seed
);
其中seed就是设定的随机数种子 。
c语言随机函数怎么用,怎么定义?随机函数就是产生数的函数,c语言里有rand(),srand()等函数 。
用法
#include
#include
#include
void main( void )
{
int i,k;
srand( (unsigned)time( NULL ) ); //用系统时间当种子,对随机函数进行初始化
for( i = 0; i10;i++ )
{
k=rand()%100; //产生各个随机数
printf( " k=%d/n", k );
}
}
详述
rand() srand() 头文件为#include
标准C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h 中定义的一个整数,它与系统有关 。
rand()函数没有输入参数,直接通过表达式rand()来引用 , rand()%n是产生的随机数对n取余,起到了取0到n-1之间随机数的作用;
例如可以用下面的语句来打印两个随机数: printf("Random numbers are: %i %i/n",rand(),rand());
因为rand()函数是按指定的顺序来产生整数,而未指定运行的种子,所以rand()每次使用的都是同一个种子来产生随机数序列,因此每次执行上面的语句都打印相同的两个值 , 所以说C语言的随机并不是正真意义上的随机 。
为了时程序在每次执行时都能生成一个新序列的随机值,我们通常通过为随机数生成器提供一粒新的随机种子 。函数 srand()(来自stdlib.h)可以为随机数生成器播散种子 。只要种子不同rand()函数就会产生不同的随机数序列 。srand()称为随机数生成器的初始化器 。
srand( (unsigned)time( NULL ) ); 用系统时间当种子,对随机函数进行初始化,每次的系统时间不同 , 所以种子也就不同 , 产生的随机数序列也就不同 。
关于c语言随机函数种子用法和c语言随机种子有哪些的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读