c语言产生随机数的函数

c语言产生随机数的函数,第1张

在c语言中要产生随机数可以用rand函数

默认情况下这个函数产生的随机整数的范围是[0,RAND_MAX]。

RAND_MAX是一个预定义的宏,其值等于平台上int类型的最大值。

可以使用如下公式来产生一个[min,max]之间的随机整数:

rand()%(max-min+1)+min

下面这个例子可以产生10个[1,100]的随机数,并输出了它们:

#include <stdioh>

#include <stdlibh>

#include <timeh>

int main()

{

int i;

//初始化随机数种子

srand(time(NULL));

//printf("%d\n\n",RAND_MAX);

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

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

return 0;

}

下面是运行结果的截图:

随机函数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,将公式永久性地改为随机数。 

excel中的随机函数是rand(),返回值为大于等于0,小于1的小数。

如果要得到整数型的随机数,配合取整函数int()即可,比如要得到100以内的随机数,可输入下面的公式:

=int(rand()100)

它的意思是先用rand函数产生随机小数,然后扩大100倍,得到100以内的小数,再用取整函数int获取整数部分。

1首先在A1单元格里输入公式:

=int(rand()100)

2然后鼠标指向A1单元格右下角黑色小方块,拖动填充柄向下填充。

我们在Excel工作表的单元格中输入“=RANDBETWEEN(1,69)”(不包括引号)

回车,这个单元格中就出现了一个1到69之间的随机数,

再使用Excel神奇的填充柄(将鼠标移动到单元格的右下角,当出现十字标志时,按下鼠标左键,向需要的方向拖动鼠标),轻松得到更多的指定范围内的随机数据。

我刚试过哦!

有两种方法可以实现a,b的随机整数。

方法一:

使用以下公式:=Round(a+(b-a)Rand(),n),其中a为最小值,b为最大值,n为需要保留小数的位数。

其用中文表示为:=Round(最小值+(最大值-最小值)Rand(),保留小数的位数)

例如输入100,300之间随机整数,则公式为:=ROUND(100+(300-100)RAND(),0)

方法二:

可使用以下公式:=int(rand()(b-a)+a),其中a为最小值,b为最大值。

其用中文表示为:=int(rand()(最大值-最小值)+最小值)

例如输入100,300之间随机整数,则公式为:=INT(RAND()(300-100)+100)

扩展资料:

excel常用函数

1、SUM函数:SUM函数的作用是求和。

2、COUNT函数:COUNT函数计算含有数字的单元格的个数。COUNT函数参数可以是单元格、单元格引用,或者数字,COUNT函数会忽略非数字的值。

3、IF函数:IF函数的作用是判断一个条件,然后根据判断的结果返回指定值,条件判断的结果必须返回一个或TRUE或FALSE的值。

4、Round函数:返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果。

5、VLOOKUP函数:VLOOKUP函数用来在表格中查找数据。函数的语法公式是:

=VLOOKUP(查找值,区域,要返回第几列的内容,1近似匹配 0精确匹配)

将号码和名字对应的表格事先做好,放在sheet2里

利用randbetween( )函数,具体做法如下:

在sheet1中,选中一个单元格,在单元格中输入=RANDBETWEEN(1,15),这个公式的意思是选出介于1到15的随机数。

利用index( )函数,将随机取出的数字和名字相对应,具体做法如下:

在前面randbetween( )函数里面添加index( )函数,函数是这样的:=INDEX(Sheet2!B1:B15,RANDBETWEEN(1,15))

完成后按下F9键,会随机显示所有的名字。松开F9键,即显示一个随机的名字。

5

如果需要界面好看一点,也可以插入一张抽奖的背景。

1、随机函数的公式为:RAND(),如果需要规定生成的数据后面的小数位数,可以输入公式:=ROUND(RAND(),1)。

2、点击回车,即可看到生成的数据是保留了小数点后1位。

3、如果需要生成数值在1~3之间的保留1位小数的随机数字,可以使用公式:=ROUND(RAND()(3-1)+1,1)。

4、点击回车即可生成在1~3之间的保留1位小数的随机数字。

使用随机数公式rand(),"=最小值+Rand()%(最大值-最小值+1)”。

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

rand()函数

定义函数:int rand(void)。

函数功能:产生随机数。

1)使用该函数首先应在开头包含头文件stdlibh。

#include<stdlibh>(C++建议使用#include<cstdlib>,下同)

(2)在标准的C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlibh 中定义的一个整数,它与系统有关。

(3)rand()函数没有输入参数,直接通过表达式rand()来引用;例如可以用下面的语句来打印两个随机数:

printf("Random numbers are: %i %i\n",rand(),rand());

(4)因为rand()函数是按指定的顺序来产生整数,因此每次执行上面的语句都打印相同的两个值,所以说C语言的随机并不是真正意义上的随机,有时候也叫伪随机数。

(5)为了使程序在每次执行时都能生成一个新序列的随机值,我们通常通过伪随机数生成器提供一粒新的随机种子。函数 srand()(来自stdlibh)可以为随机数生成器播散种子。只要种子不同rand()函数就会产生不同的随机数序列。srand()称为随机数生成器的初始化器。

扩展资料:

srand()

srand函数是随机数发生器的初始化函数。原型:void srand(unsigned int seed);srand和rand()配合使用产生伪随机数序列。

rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。

srand(unsigned seed)通过参数seed改变系统提供的种子值,从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的“随机”。

通常可以利用系统时间来改变系统的种子值,即srand(time(NULL)),可以为rand函数提供不同的种子值,进而产生不同的随机数序列。

参考资料:

rand()-

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存