我现在做的程序里要生成一万个随机点 现在随机数生成程序搞不定 致使生成的点都是等差序列排列的~~哪位达人来帮个忙 谢谢阿~~~
现在主要就是要生成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之间随机数的式子了.