如何用C语言 写一个随机数生成器的程序

如何用C语言 写一个随机数生成器的程序,第1张

#include

<stdioh>

#include

<timeh>

void

main()

{

int

iNum

=

0;

srand((unsigned)time(0));

iNum

=

rand()

%

100

+

1;

//随机生成一个数,并对100取余,使它小于100(0~99)。再加1(1~100)

printf("%d\n",

iNum);

\\打印出来这个数

return;

}

如果想多生成几个随机数,可以有一个数组存储,并用for循环实现随机生成

int

aiNum[10]

=

{0};

int

iLoop

=

0;

//随机生成10个数

for

(

iLoop

=

0;

iLoop

<

10;

iLoop++

)

{

aiNum[iLoop]

=

rand()

%

100

+

1;

}

1

C语言提供了一些库函数来实现随机数的产生。C语言中有三个通用的随机数发生器,分别为

rand函数,

random函数,

randomize

函数

2

但是rand函数产生的并不是真意正义上的随机数,是一个伪随机数,是根据一个数,称之为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非破坏了系统,为了改变这个种子的值,C提供了srand()函数,它的原形是void

srand(

int

a)。

3

在调用rand函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。一般用for语句来设置种子的个数。

#include<stdioh>

#include<stdlibh>

#include<timeh>

void main()

{ int y,i;

srand((unsigned) time(NULL));

for ( i=0;i<10;i++ ) //下面生成10个随机数并打印

{ y=rand()%99+1; //生成0~99之间的一个随机数+1=1~100之间的随机数

printf("%d\n",y);

}

}

楼主你好!

很高兴回答你的问题!

#include<stdioh>

#include<windowsh>

#include<timeh>

#include<stdlibh>

int main()

{

int num;

srand((unsigned)time(NULL));

num = rand()%100+1;

printf("%d\n",num);

return 0;

}

上面的是参数一个1到100之间的随机数的例子!主要用到rand()函数,它能够随机参数一个0到unsigned int的最大值之间的一个随机数,我们可以通过%控制随机数参数的范围!在使用rand()需要调用srand()种子器,不然你每次得到都是同一个数!具体用法可以去网上查查!

希望我的回答对你有帮助!

望采纳!谢谢!

C语言产生有范围随机数需要random函数。

random即随机数发生器,使用之前需要使用Randomize语句进行随机数种子的初始化。RANDOM产生的是伪随机数或者说是用一种复杂的方法计算得到的序列值,因此每次运算时需要一个不同的种子值。种子值不同,得到的序列值也不同。因此也就是真正的随机数了。这也正是RANDOMIZE随机初始化的作用。

VB里用

NEW

RANDOM()来表示初始化。

能:

随机数发生器

法:

int

random(int

num);

程序例:

#include

#include

#include

/

prints

a

random

number

in

the

range

0

to

99

/

int

main(void)

{

randomize();

随机数种子被初始化时

printf("Random

number

in

the

0-99

range:

%d\n",

random

(100));

return

0;

}

以上就是关于如何用C语言 写一个随机数生成器的程序全部的内容,包括:如何用C语言 写一个随机数生成器的程序、c语言如何实现随机数字的产生、如何用C语言编写个1到100的随机取数程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9271803.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存