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

c语言用rand()取随机数能不能取的是小数???

rand()是生成一个从0到RAND_MAX的随机数,所以要生成小数,除以RAND_MAX就一定是一个小数:

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

(double)rand()/RAND_MAX

什么叫随机数?就是不确定的数,不过这个表达式,可以肯定的是从0到1的小数。

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

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

#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语言中如何生成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语言中随机产生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语言产生一个随机无限不循环小数

"无限不循环小数"的标准是啥?计算机和手工书写都是有确定长度的,不可能是无限的;“无限”在数学上只是一种对趋势的推理,而用一个称号来表示这种推理和趋势。用C产生的伪随机数可以做到“无限不循环”,但显示出来肯定就有限制而被截断了。一个被截断了的数字,谁又能肯定它一定是“无限不循环”的呢?

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

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

#include stdlib.h

#include stdio.h

#include math.h

// 精度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语言随机函数产生小数 随机函数生成小数
网站路径:http://pwwzsj.com/article/doooisi.html