C语言中获得随机数的方法是什么

C语言中获得随机数的方法是什么,第1张

可以使用库函数rand()。

rand声明于stdlibh,其原型为

int rand(void);

功能为返回一个随机整型值。在C语言中,该值是一个正数值。

在需要限定获取到的随机数范围时,如范围要求为[m,n] m<n且m,n均为整数,可以用

rand()%(n-m+1)+m

的形式进行获取。原理为:

%为取余计算,当%k时,结果是[0,k-1]之间的数值;

于是rand()%(n-m+1) ∈ [0, n-m];

所以rand()%(n-m+1)+m ∈ [0+m, n-m+m]=[m,n]。

1到60,编号为,01,02,03,60

先定好,读数规则,比如,从第某行第某列开始,从左到右,从上到下读

两位,两位一组读数

读出一个数,就记录下来,再接着读,遇到相同的,就舍去,继续往下读,超过范围的数,也舍去,继续读直到获得60个不同的数

比如有一列数:

475 948 578 957 947 349 043 25

则获得的数为,47 59 48 57 89(舍去) 57(舍去) 94(舍去)

73(舍去) 49 04 32

var

Num:integer;

begin

Randomize;//初始化随机种子

Num:=random(10); //随机10以内的数字

showmessage(Inttostr(Num));

end;

可以使用两种方式初始化一个随机数发生器:

第一种方法不指定随机种子,系统自动选取当前时间作为随机种子:

Random ro = new Random();

第二种方法可以指定一个int型参数作为随机种子:

int iSeed=10;

Random ro = new Random(10);

long tick = DateTimeNowTicks;

Random ran = new Random((int)(tick & 0xffffffffL) | (int) (tick >> 32));

这样可以保证99%不是一样。

之后,就可以使用这个Random类的对象来产生随机数,这时候要用到RandomNext()方法。这个方法使用相当灵活,甚至可以指定产生的随机数的上下限。

不指定上下限的使用如下:

int iResult;

iResult=roNext();

下面的代码指定返回小于100的随机数:

int iResult;

int iUp=100;

iResult=roNext(iUp);

而下面这段代码则指定返回值必须在50-100的范围之内:

int iResult;

int iUp=100;

int iDown=50;

iResult=roNext(iDown,iUp);

除了RandomNext()方法之外,Random类还提供了RandomNextDouble()方法产生一个范围在00-10之间的随机的双精度浮点数:

double dResult;

dResult=roNextDouble();

以上就是关于C语言中获得随机数的方法是什么全部的内容,包括:C语言中获得随机数的方法是什么、有随机数字表,如何获得随机数 我想获得60个随机数:1-60,有随机数字表之后怎么做.、Delphi中怎么得到随机数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/10179429.html

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

发表评论

登录后才能评论

评论列表(0条)

保存