189 8069 5689

c语言随机小数函数 c语言生成小数随机数

C语言产生1~10随机小数

//---------------------------------------------------------------------------

创新互联公司-专业网站定制、快速模板网站建设、高性价比巴林右旗网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式巴林右旗网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖巴林右旗地区。费用合理售后完善,十年实体公司更值得信赖。

#include stdio.h

#include stdlib.h

#include time.h

double rnd(void)

{

static int fg=1;

int rd;

if (fg) {

srand(time(NULL));

fg=0;

}

return (double)(rand()%900+100)/100;

}

int main(void)

{

int i;

for (i = 0; i 10; i++) //输出10个[1.00,10.00]区间内的小数

printf("%.2f\n",rnd());

return 0;

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

c语言随机函数rand()怎么使用?

它的返回值就是求取随机的值,所以如果没有对数有要求,直接这样定:

printf("%d", rand());就能输出一个随机数.但如果对数有要求,如小数或在一定值以内:

小数:rand()+rand()/100.0 //100.0后面的.0必须写,100是说明求两位小数,你可以自己加大.

一定范围:rand()%10+0 //10是顶和底的差,0是底,就是说求10到20之间的数就是:rand()%10+10

但是调用它必须先调用srand()来生成随机种子,如果你没调用它,系统会自动调用.但是srand是有个参数的,种子就是根据这个参数来定的,所以这个参数决定着生成的随机数.如果你在代码里写死了它:srand(10);那这样rand生成的随机数就也被定格在了一定量,所以不要这样用.要这样写:

srand(time(NULL));time的返回值是当前系统时间.因为时间不同,所取的数值也就不同.这样随机数就真正的随机了.

time在time.h中声明

rand,srand在stdilb.h中声明.

如何c语言中随机产生1-50的随机数,包括小数?

VC环境下要比TC麻烦一些

格式如下:

#include "time.h"

#include "stdlib.h"

#include "stdio.h"

void main()

{

double x;

srand((unsigned)time(0)); //根据时间来产生随机数种子

x=(double)rand()/RAND_MAX*49+1.0;//(double)rand()/RAND_MAX产生0到1之间的随机数,乘以49,加上1.0就是1到50的随机数。

printf("%lf",x);

}

在C语言中,怎样产生一个0到1的随机数??

float

b=rand()/(RAND_MAX+1.0);

printf("%f\n",b);

注释:

stdlib.h

头文件

中有宏#define

RAND_MAX

0x7fff

rand()产生一个0到0x7ffff即0到32767之间的

随机数

rand()/(RAND_MAX+1.0)就等于一个0到1之间的

小数

了,因为rand()最大是32767最小是0,再除以32768就是一个0到1之间的小数(不能等于1),再乘以10就是一个0到10之间的数了(不等于10).最后再加1,就成了一个求1到10之间随机数的

式子

了.

如何用c语言取0-1间的随机小数??

可以写一个函数,利用math.h中的rand来产生随机浮点数。

#include

#include

#include

//

精度0.001的随机浮点数

float

randf()

{

return

(float)(rand()

%

1001)

*

0.001f;

}

main()

{

int

i;

for

(i=0;

i100;

++i)

printf("%.3f\n",

randf());

system("pause");

}

VC里rand()的范围是从0到某个内部指定的极大数,但是以前似乎有些书上说用rand得到的可能是负数。如果有出现负数的话,对rand得到的数取绝对值就可以了。

c语言中如何生成1个0到1的随机数

C语言中生成1个0到1的随机数可以执行语句:float b=rand()/(RAND_MAX+1.0);

解析:

标准C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h 中定义的一个整数,它与系统有关。rand()函数没有输入参数,直接通过表达式rand()来引用;

用函数rand取得的随机数除以(RAND_MAX+1.0),即可确保得到的结果在0到1之间。ISO IEC 9899 2011 (C11)标准中未规定 RAND_MAX 的具体数值。但该标准规定了RAND_MAX 的值应至少为32767。编程的时候,不应该对 RAND_MAX 的具体数值做任何假设。

扩展资料:

相关说明:

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

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

3、随机种子(Random Seed)是计算机专业术语,一种以随机数作为对象的以真随机数(种子)为初始条件的随机数。一般计算机的随机数都是伪随机数,以一个真随机数(种子)作为初始条件,然后用一定的算法不停迭代产生随机数。

参考资料来源:百度百科-随机函数

参考资料来源:百度百科-RAND_MAX


名称栏目:c语言随机小数函数 c语言生成小数随机数
网页网址:http://jkwzsj.com/article/hgdhcc.html

其他资讯