seed函数用法c语言 c++seekg函数

c 语言中随机函数的应用示例

其实,除了random函数,还有一个rand函数,这个函数也是一个随机函数,他可以产生从0到rand_max的随机数。

创新互联建站专注于龙文企业网站建设,响应式网站,成都做商城网站。龙文网站建设公司,为龙文等地区提供建站服务。全流程按需制作,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务

大家可以把以上的代码编译运行一下,发现他的确产生随机数了,但是你会发现,每次运行程序产生的随机数都是一样的,如过

你在程序里加上for循环,每次产生的数不一样,但是,如果再运行这个程序,它产生的数故巧洗纬绦虿��慕峁�?

那么如何写一个程序,让它每次运行时产生的随机数都不一样呢? 请看下面的例子:

#include stdlib.h

#include stdio.h

#include time.h

int main(void)

{

int i;

time_t t;

srand((unsigned) time(t));

printf("Ten random numbers from 0 to 99\\n\\n");

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

printf("%d\\n", rand() % 100);

return 0;

}

这时运行程序,会发现每次产生的随机数都不一样。

那么为什么第一个程序一样而第二个程序一样呢?

第二个程序用到了一个新的函数srand

这个函数是给随机数产生一个随机种子(seed),函数原型是srand( (unsigned)time( NULL ) );

time的值每时每刻都不同。所以种子不同,所以,产生的随机数也不同。

所以说,要想产生不同的随机数,在使用rand之前需要先调用srand

srand和rand函数都包含在stdlib.h的头文件里。

由于rand产生的随机数是从0到rand_max的,而rand_max是一个很大的数,那么如何产生从X~Y的数呢?

从X到Y,有Y-X+1个数,所以要产生从X到Y的数,只需要这样写:

k = rand() % (Y - X + 1) +X;

这样,就可以产生你想要的任何范围内的随机数了。

C语言的rand,srand,time.h,seed是什么意思?

time.h 是编辑器包装好的头文件 包含方法 rand() srand()

rand() 是 提供随机数的方法

srand() 是 建立随机数种子 随机数要根据种子产生

seed 指的是随机数种子 无此方法

c语言中的随机数种子

首先告诉你随机数种子是什么东东.

电脑不是人,不能随便就凭空想象一个数字出来。所谓的随机数,不过是通过一个函数经过计算出来的数字而已。 因此,随机数不过是函数计算出来的值,而一个函数要得到这个值Y,肯定需要一个输入X,所以X就是那个种子。

简单点说 Y = function(x);

随机数=Y,随机数种子=X。

第二,rand()%Y+1是什么意思。 首先你要弄懂%是什么意思,是取余运算。

举个例子 10 % 3 = 1 10 % 5 = 0;就是得到余数。

余数的范围永远是从 0到被除数-1 不可能等于被除数。

所以rand()%Y的意思就是 得到一个随机数,这个随机数的范围是从0到Y-1

再加1当然就是把这个随机数的范围确定在0到Y之间了

一般rand()%某数 都是用来指定取某个范围内的随机数的

这个for循环不过就是取打印10个0-99之间的随机数而已..

如果还不明白hi我


新闻标题:seed函数用法c语言 c++seekg函数
网站URL:http://myzitong.com/article/ddjgcdi.html