C语言中产生随机数的函数是什么?

C语言中产生随机数的函数是什么?,第1张

c语言中产生随机数的相关函数主要包括srand和rand函数,两者配合生成随机数据,测试代码如下,

#include<stdioh>

#include <stdlibh>

#include <timeh>

void main()

{

int i=0,j=0;

int p[5][5]={0};

srand(time(NULL));

for(i=0;i<5;i++)

for(j=0;j<5;j++)

p[i][j]=rand()%100+1;//产生1-100的随机数存入数组p中

printf("二维数组p为:\n");

for(i=0;i<5;i++)

{

for(j=0;j<5;j++)

printf("%d\t",p[i][j]);

printf("\n");

}

}

一般srand和rand配合使用产生伪随机数序列。rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。srand(unsigned seed)通过参数seed改变系统提供的种子值,从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的“随机”。通常可以利用系统时间来改变系统的种子值,即srand(time(NULL)),可以为rand函数提供不同的种子值,进而产生不同的随机数序列。

rand和randbetween函数只能在整数区间变动,具体 *** 作方法如下:

首先需打开excel,如图所示:

2然后把光标落在单元格里,输入“=rand()”,如图所示:

3接着按回车,最后向右向下复制填充公式,就会得到一系列0-1的随机数。

5最后点击设置单元格格式。

6点击数值,在选择你需要保留的小数位,就设置完成了。

1、首先介绍一下如何用RAND()函数来生成随机数(同时返回多个值时是不重复的)。

如下图所示,在单元格中输入=RAND(),回车后单元格即返回了一个随机数字。

2、RAND()函数返回的随机数字的范围是大于0小于1。因此,也可以用它做基础来生成给定范围内的随机数字。

3、生成制定范围的随机数方法是这样的,假设给定数字范围最小是A,最大是B,公式是:

=A+RAND()(B-A)。

举例来说,要生成大于60小于100的随机数字,因为(100-60)RAND()返回结果是0到40之间,加上范围的下限60就返回了60到100之间的数字。

4、上面RAND()函数返回的0到1之间的随机小数,如果要生成随机整数的话就需要用RANDBETWEEN()函数了,如下图该函数生成大于等于1小于等于100的随机整数。

这个函数的语法是这样的:=RANDBETWEEN(范围下限整数,范围上限整数),结果返回包含上下限在内的整数。注意:上限和下限也可以不是整数,并且可以是负数。

5、RAND()和RANDBETWEEN()是生成随机数的基础函数,也可以灵活变通。比如说要生成001至1之间包含两位小数的随机数,则可用下图的公式实现:

rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数(我们可以称它为种子)为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值,C提供了 srand()函数,它的原形是void srand( int a) 功能是初始化随机产生器既rand()函数的初始值,即使把种子的值改成a; 从这你可以看到通过sand()函数,我们是可以产生可以预见的随机序列,那我们如何才能产生不可预见的随机序列呢?我们可能常常需要这样的随机序列,利用srand((unsign)(time(NULL))是一种方法。

随机函数rand公式是:"=a+rand()%(b-a+1)”。

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

但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值,C提供了 srand()函数,它的原形是void srand( int a) 功能是初始化随机产生器既rand()函数的初始值,即使把种子的值改成a。

rand()函数使用延伸:

若要生成 a 与 b 之间的随机实数,应使用: RAND()(b-a)+a

如果要使用函数 RAND 生成一随机数,并且使之不随单元格计算而改变,可以在编辑栏中输入“=RAND()”,保持编辑状态,然后按 F9,将公式永久性地改为随机数。 

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

原文地址: https://outofmemory.cn/langs/12183050.html

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

发表评论

登录后才能评论

评论列表(0条)

保存