srand函数怎么用(srand函数和rand函数到底如何使用)

1.srand函数和rand函数到底如何使用

在c语言里面,两个函数包含在头文件里面,c++里面,标准库(被包含于中).

srand函数是随机数发生器的初始化函数。

原型:void srand(unsigned seed);

rand函数用来产生随机数,当然是伪随机数。

原型:int rand(void)

seed的作用:srand函数的作用是根据参数seed,设置一个随机起始点,而rand函数根据这个起始点,产生随机数序列。默认的随机种子为1。如果随机种子一样,rand函数所产生的随机序列也一样。

因此,为使每次程序运行都能产生不同的随机序列,每次都应产生一个不同的种子参数。

2.请举例讲讲vc中srand函数怎么用

先从随机数的原理谈起.

计算机的随机数都是由伪随机数,即是由小M多项式序列生成.产生每个小序列都有一个初始值,即随机种子.

srand()产生随机种子.

rand()产生随机数

要保证计算机产生不相同的随机数,应保证它们的随机种子是不一样的.

srand( (unsigned)time( NULL ) );

就是以时间做为随机种子,因为每次你运行的时间总是不一样的.

补充一点是小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是65535,即你取得65535个随机数后它们又重复出现了.

int nRand;

srand( (unsigned)time( NULL ) );

for(int i=0;i<65538;i++)

{

nRand=rand();

if(i==1||i==65536)

printf("%d\r\n",nRand);

}

3.C语言srand和rand函数怎么用

rand()函数,一般根srand()函数一起用。它们在一起,作用是:产生一个随机数。

通常格式为:

srand ( (unsigned) time (NULL) );

a=rand()%x; //a,x,均为整型变量,其中,x在之前应被赋值。

srand函数里面的unsigned也可以换成其它的。例如:int之类的数据类型,但结果也会有相应的变化。

通过rand函数产生随机数以后,用%x来限定它的范围。即:0<=a<x。

其原理是:用那个随机数,去除以x,留下所得余数,作为最终结果。

4.srand()在C++中怎么用

srand()

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

用法: void srand(unsigned int seed)

所在头文件: stdlib.h

srand()用来设置rand()产生随机数时的随机数种子。参数seed必须是个整数,如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。

计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子。(注意: 小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是65535,当你取得65535个随机数后它们又重复出现了。)

我们知道rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,是根据一个数(我们可以称它为种子)为基准以某个递推公式推算出来的一系列数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统。

5.C语言 srand()函数

直接用rand() 产生的一套随机数是固定不变的。

也就是说 这次 产生了 一套 例如有 10 个数 a[0],a[1],..a[9]

下次 再跑这个程序 产生 一套 10 个数 b[0],b[1],..b[9]

得到的 b[0]==a[0]; b[1]==a[1];。.b[9]==a[9];

用 srand() 生成新种子,那么 新的一套 和 老 的 一套 随机数 次序就 不一样了,数值也不完全一样了,这样模拟 的 伪随机 就会 接近 真随机。

6.srand和rand函数怎么用,麻烦写个简短的c++给我看看

首先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand产生随机数,下面将详细说明。

rand(产生随机数)

表头文件: #include

定义函数 :int rand(void)

函数说明 :

因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的,rand()会返回一随机数值,范围在0至RAND_MAX 间。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。rand()产生的是假随机数字,每次执行时是相同的。若要不同,以不同的值来初始化它.初始化的函数就是srand()。

返回值:

返回0至RAND_MAX之间的随机整数值,RAND_MAX的范围最少是在32767之间(int),即双字节(16位数)。若用unsigned int 双字节是65535,四字节是4294967295的整数范围。

0~RAND_MAX每个数字被选中的机率是相同的。

范例:

/* 产生介于1 到10 间的随机数值,此范例未设随机数种子,完整的随机数产生请参考

srand()*/

#include

main()

{

int i,j;

for(i=0;i

定义函数:void srand (unsigned int seed);

函数说明:

srand()用来设置rand()产生随机数时的随机数种子。参数seed必须是个整数,通常可以利用geypid()或time(0)的返回值来当做seed。如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。

范例

/* 产生介于1 到10 间的随机数值,此范例与执行结果可与rand()参照*/

#include

#include

main()

{

int i,j;

srand((int)time(0));

for(i=0;i

#include

#include

int main( void )

{

int i;

// Seed the random-number generator with current time so that

// the numbers will be different every time we run.

//

srand( (unsigned)time( NULL ) );

// Display 10 numbers.

for( i = 0; i

7.Rand函数和srand函数在keil中怎么用,能给我举个例子吗

srand((unsigned)time(NULL))则使用系统定时/计数器的值作为随机种子。每个种子对应一组根据算法预先生成的随机数,所以,在相同的平台环境下,不同时间产生的随机数会是不同的,相应的,若将srand(unsigned)time(NULL)改为srand(TP)(TP为任一常量),则无论何时运行、运行多少次得到的“随机数”都会是一组固定的序列,因此srand生成的随机数是伪随机数。[1]

库函数中系统提供了两个函数用于产生随机数:srand()和rand()。 原型为:

函数一:int rand(void);

返回一个[0,RAND_MAX]间的随机整数。

函数二:void srand(unsigned seed);

参数seed是rand()的种子,用来初始化rand()的起始值。

但是,要注意的是所谓的“伪随机数”指的并不是假的随机数。其实绝对的随机数只是一种理想状态的随机数,计算机只能生成相对的随机数即伪随机数。计算机生 成的伪随机数既是随机的又是有规律的 —— 一部份遵守一定的规律,一部份则不遵守任何规律。比如“世上没有两片形状完全相同的树叶”,这体现到了事物的特性 —— 差异性;但是每种树的叶子都有近似的形状,这正是事物的共性 —— 规律性。从这个角度讲,我们就可以接受这样的事实了:计算机只能产生伪随机数而不是绝对的随机数。

系统在调用rand()之前都会自动调用srand(),如果用户在rand()之前曾调用过srand()给参数seed指定了一个值,那么 rand()就会将seed的值作为产生伪随机数的初始值;而如果用户在rand()前没有调用过srand(),那么系统默认将1作为伪随机数的初始 值。如果给了一个定值,那么每次rand()产生的随机数序列都是一样的~~

所以为了避免上述情况的发生我们通常用srand((unsigned)time(0))或者srand((unsigned)time(NULL))来 产生种子。如果仍然觉得时间间隔太小,可以在(unsigned)time(0)或者(unsigned)time(NULL)后面乘上某个合适的整数。 例如,srand((unsigned)time(NULL)*10)

另外,关于time_t time(0):time_t被定义为长整型,它返回从1970年1月1日零时零分零秒到目前为止所经过的时间,单位为秒。

srand()、rand()用法举例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

#include

#include

#include

voidmain()

{

inti,j;

srand((int)time(0));

for(i=0;i{

j=1+(int)(10.0*rand()/(RAND_MAX+1.0));

printf("%d",j);

}

}

srand函数怎么用

转载请注明出处育才学习网 » srand函数怎么用(srand函数和rand函数到底如何使用)

知识

目镜射线道具怎么用(目镜如何正确使用天天爱消除目镜使用技巧)

阅读(279)

本文主要为您介绍目镜射线道具怎么用,内容包括天天爱消除冒险模式目镜射线怎么用,天天爱消除冒险模式目镜射线怎么用,天天爱消除冒险模式的道具怎么用。目镜射线:开荒时期,玩家尽可能多的使用目镜射线自然事半功倍,到了中后期,目镜射线不要随便

知识

ck香水没有喷头怎么用(没有喷头的香水怎么用)

阅读(196)

本文主要为您介绍ck香水没有喷头怎么用,内容包括ckone没有喷头要怎么用,CKone这款香水没有喷头怎么用好呢,ckone没有喷头要怎么用。可以买一个香水小喷瓶。用户把之前的小样瓶子替换掉,大小含量在30毫升以内就可以了,不要太大,最好是20毫升以

知识

电信赠款余额怎么用(赠款余额所有用处是什么,可以买流量吗)

阅读(464)

本文主要为您介绍电信赠款余额怎么用,内容包括电信赠款余额用完怎么继续使用,电信手机赠款余额,电信赠款余额用完怎么继续使用。您好,首先感谢您对中国电信的支持。根据您的描述:可用余额是截止到当月可以使用的金额;帐户余额是用户账户下总余

知识

检验棒怎么用(怀孕检测棒怎么使用)

阅读(264)

本文主要为您介绍检验棒怎么用,内容包括验孕棒怎么用啊,验孕棒怎么用,验孕棒怎么用图解,使用方法。在怀孕一个月或停经后7-10天检测相对准确,使用时应选择早晨的第一次排尿,准确度会更高。一般HCG在受精卵与精子结合几天后才出现在尿液中

知识

你好帅用英语怎么说(你很帅用英语怎么说)

阅读(434)

本文主要为您介绍你好帅用英语怎么说,内容包括你好帅用英语怎么说,你好帅英文怎么说,你好帅英语怎么说。你很帅的英语为:you are handsome英 [ju ɑː(r) ˈhænsəm] 美 [jə ɑːr ˈhænsəm] 关键单词

知识

水滴铅坠怎么用(钓鱼用的水滴型钓坠怎么安装)

阅读(759)

本文主要为您介绍水滴铅坠怎么用,内容包括钓鱼用的水滴型钓坠怎么安装,水滴型铅坠怎样用,水滴型铅坠怎样用。水滴型铅坠应该是海竿用的,看你用什么钩。如果用炸弹钩,是用一根呢绒绳(卖铅坠的时候渔具店就有卖的,请他帮你穿上就可以,也可以自己买

知识

家风家信一句话怎么写(家风家训一句话怎么写)

阅读(252)

本文主要为您介绍家风家信一句话怎么写,内容包括家风家训一句话怎么写,家风家训一句话怎么写,家规家训家风怎么写一。做老实人、做诚信人、做善良人。2、诚实守信,开明勤俭,低调做人,高调做事。3、待人贵真诚,为人须谦和,孝道当竭力,亲情互相助。

知识

苗木合作合同怎么写(合作种植合同怎么写)

阅读(227)

本文主要为您介绍苗木合作合同怎么写,内容包括合作种植合同怎么写,绿化苗木栽植合同怎么写,苗木采购合同怎样草拟。试读结束,如需阅读或下载,请点击购买>原发布者:连接科技编号:_____________合作种植合同甲方:_______________

知识

模具商机推广怎么写(发展一个模具厂怎么宣传)

阅读(225)

本文主要为您介绍模具商机推广怎么写,内容包括发展一个模具厂怎么宣传,我是从事模具生产的,想要推广我们的产品,有什么途径,模具加工行业怎么在互联网上做推广。源于你的高额报酬,看出你的诚意,也激发我行销概念的输送欲望,看了上面回答的问题

知识

小学生推荐语怎么写(学生推荐理由怎么写)

阅读(287)

本文主要为您介绍小学生推荐语怎么写,内容包括学生推荐理由怎么写,推荐语怎么写,推荐语怎么写。XXX同学三好学生推荐XXX同学在老师的教育和父母的关心下,养成了良好的学习习惯,学习专心,勤学善思,不懂就问,常主动与老师同学交流学习

知识

weibull分布怎么用(如何使用韦伯分布函数)

阅读(320)

本文主要为您介绍weibull分布怎么用,内容包括已知几个参数,怎么利用weibull分布分析,怎么使用minitab来看weibull分布呀最好有实际的例子加实际使用,ExcelWEIBULL函数怎么用。威布尔分布(Weibull distribution),又称韦伯分布或韦布尔分布,是可

知识

函数的零点怎么写(如何求函数的零点)

阅读(244)

本文主要为您介绍函数的零点怎么写,内容包括怎样求函数的零点写详细点,高一函数零点怎么写,函数零点表示。求函数的零点有以下三种方法1. 以适当的方式对函数加以变形(形如x2+5x+4)。高次项(如x2)在前、低次项在后逐一从左向右降次排列,

知识

连点器脚本函数怎么写(鼠标连点器脚本)

阅读(610)

本文主要为您介绍连点器脚本函数怎么写,内容包括鼠标连点器脚本,鼠标连点器怎么录制脚本,求按键精灵鼠标连点器脚本。额。。。如果不好使 给我邮箱我发给你 或者你试试下面的语句---------------------------------------

知识

val函数怎么用(函数VAL什么意思怎么用啊)

阅读(244)

本文主要为您介绍val函数怎么用,内容包括函数VAL()什么意思怎么用啊,VB内部函数,Val怎么用呀,VB语言中的val()函数是什么意思如何使用。Val 函数返回包含于字符串内的数字,字符串中是一个适当类型的数值。语法Val(string)string 参数可以是任

知识

excel中ln函数怎么用(怎么在excel中使用ln函数)

阅读(408)

本文主要为您介绍excel中ln函数怎么用,内容包括怎么在excel中使用ln函数,怎么在EXCEL里用ln函数,如何用Excel求表格中数据的ln值。准备工具/材料:装有windows 10的电脑一台,Microsoft Office 家庭和学生版 2010 excel软件。打开EXC

知识

用sumif怎么写函数(excel函数sumif怎么写)

阅读(266)

本文主要为您介绍用sumif怎么写函数,内容包括excel函数sumif怎么写,WPSSUMIF函数怎么写,在ExcelVBA中怎么写sumif函数。SUMIF(F1:F102,"<90")-SUMIF(F1:F102,">70") 这个公式不是正确的结果,例如有两个数,1和2,SUM

知识

arc反函数怎么用(反三角函数怎么用)

阅读(444)

本文主要为您介绍arc反函数怎么用,内容包括反三角函数怎么用,arc是什么意思,这种反函数怎么解,反函数就是什么arc吧这东西到底是什么意思啊``怎么用的``反爱问。已知:cosα=3/5,求α。解:已知:cosα=3/5有:α=arccos(3/5)经查表(或按计算器),得:α≈

[/e:loop]