我现在做的程序里要生成一万个随机点 现在随机数生成程序搞不定 致使生成的点都是等差序列排列的~~哪位达人来帮个忙 谢谢阿~~~
现在主要就是要生成0到1之间的随机数 然后乘以我原先的坐标 其他都搞定了 就是请问如何实现这个0到1的随机数阿?!?
实在不好意思啊 我现在没有积分 所以都悬赏不起来~~摆脱哪位好人帮帮忙阿~~
方法一:
1、功能:
产生0到1之间均匀分布的一个随机数
2、方法说明:
设m=216,产生产生0到1之间均匀分布的一个随机数的计算公式如下:
ri=mod(2053ri-1 +13849,m),i=1,2,3……
pi =ri/m
例:连续产生10个0到1之间均匀分布的一个随机数 。r的初值取5.0
#include "stdio.h"方法二:
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语言如何随机取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取得的随机数除以(...
在C语言下实现0—1之间的随机数
unsigned int seed=0; \/\/seed 为种子,要设为全局变量 void mysrand(long int i) \/\/初始化种子 { seed = -i;} double ran1(long *idum){ int j;long k;static long idum2=123456789;static long iy=0;static long iv[NTAB];float temp;if (*idum <= 0){ if (-(*idum) < 1)...
c语言生成0到1的随机浮点数
rand函数在C语言中用于生成随机数。其输出范围从0到RAND_MAX,RAND_MAX的值取决于编译器,通常在32767左右。这似乎限制了生成0到1的随机浮点数的方法,特别是当直接除以RAND_MAX可能导致结果过于集中于0附近。然而,使用以下方法可以更有效地生成0到1的随机浮点数:double randomDouble() { return (doub...
如何用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; i<100; ++i) printf("%.3f\\n", randf());s...
c语言如何产生随机小数的数据?
include <stdio.h> include <stdlib.h> include int main() { float random_num;srand(time(NULL)); \/\/ 以当前时间作为随机数种子 random_num = (float)rand() \/ RAND_MAX; \/\/ 生成0~1之间的随机小数 printf("Random number: %f", random_num);return 0;} ...
如何用C语言生成(0,1)之间的随机浮点数
很简单,用rand()%x,x取某整数,就会生成一个0~x-1的整数,再用小数乘之即可,我这里生成了10个0~1的随机数 include<stdio.h> include<stdlib.h> void main(){ float b;for(int i=0;i<10;i++){ b=(rand()%100000)*0.00001;printf("%f\\n",b);} } ...
c语言 0和1随机数
就是产生0,1的随机数? 先用 srand(time(NULL)) 初始化 需要随机数的时候用 (rand()>>3)%2 类似这样就得到0,1的随机了
c语言中怎么用rand函数得到0-1的随机数,急。
include <stdio.h>#include "stdlib.h"#include "time.h"int main(int argc,char *argv[]){ srand((unsigned)time(NULL)); printf("%g\\n",rand()\/(RAND_MAX+0.0)); return 0;}
c语言如何生成0到2,000,000,000之间的随机数
long int x;srand((unsigned)time(NULL)); \/\/ 用当前时间取得种子 x = rand() % 2000000000; \/\/ 这就是0到1999999999之间的随机数。--- 如果要取更大的随机数,超出 long int 最大值,你可以把 数分成左右2部分,例如:int x1,x2;int v1=50000, v2=100000;char str[20];x1 ...
谁能用C语言或matlab产生5行4列按泊松分布且值在0和1之间的随机数
第一步:产生很多(0,1)上的均匀分布随机数(可以查表,不过一般的软件可以直接调)设为x1,x2,x3,x4,x5...第二步:假设需要模拟的泊松分布参数为λ,计算出e^(-λ),第三步:取满足x1* x2* ...* xk >= e^(-λ) > x1* x2* ...*x(k+1)中的K为产生的第一个随机数,然...