当前位置:C++技术网 > 资讯 > 谈谈随机小数的生成

谈谈随机小数的生成

更新时间:2015-07-28 19:22:02浏览次数:1+次

很多时候,我们需要随机数,那么随机数我们怎么样快速准确的得到呢?本人也百度过很久,但是终于到最后才发现,原来产生随机小数如此简单!直接上代码:

flaot x = rand()%4+(float)(rand()%1000)/10000.0;// 产生 0--4的随机数,0 -- 100的随机数呢?把4改成100就可以了


随机整数:

int x = rand () % 10 + 1;//1 -- 10随机整数

int x = rand () % 100 + 1 ;1 -- 100随机整数


下面可验证:

/*****************************************
*功能:产生随机小数,并验证准确性
*作者:沐雨聆风
*日期:2015/7/28
发表在:C++技术网,http://www.cjjjs.com
******************************************/

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main ()
{
srand (time (0));
 
int a = 0,b = 0,c = 0,d = 0;
float x,e,f,g,h;
for (int i = 0 ; i < 1000 ; i++)
{
x = rand()%4+(float)(rand()%1000)/10000.0;
if (x > 0 && x < 1)
a++;
else if (x > 1 && x < 2)
b++;
else if (x > 2 && x < 3)
c++;
else if (x > 3)
d++;
}
e = (float)a / 1000;
f = (float)b / 1000;
g = (float)c / 1000;
h = (float)d / 1000;
printf ("rate a = %.3f   b = %.3f   c = %.3f d = %.3f\n",e , f , g , h);
return 0;
}