生成随机数方法

来源:互联网 发布:win7网络小图标不见了 编辑:程序博客网 时间:2024/06/07 06:40

1.创建了Rand函数:返回一个dMin和dMax范围内的随机实数。

#include <iostream>using namespace std;double Rand(double dMin,double dMax){double dVal=(double)rand()/RAND_MAX;return dMin+dVal*(dMax-dMin);}int main(){double dC=Rand(-10,10);cout<<dC<<endl;return 0;}
以上程序已经编译运行过。

使用了rand函数

    C++标准函数库提供一随机数生成器rand,返回0-RAND_MAX之间均匀分布的伪随机整数。 RAND_MAX必须至少为32767。RAND_MAX的值根据机器的不同而不同。

    rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。 

(1)如果你要产生0~10的10个整数,可以表达为: 
              int N = rand() % 11;      这样,N的值就是一个0~10的随机数;
(2)如果要产生1~10,则是这样: 
              int N = 1 + rand() % 10; 
总结来说,可以表示为: a + rand() % n
     其中的a是起始值,n是整数的范围。 
  a + rand() % (b-a+1) 就表示 a~b之间的一个随机数
(3)若要0~1的小数,则可以先取得0~10的整数,然后均除以10即可得到随机到十分位的10个随机小数;
          若要得到随机到百分位的随机小数,则需要先得到0~100的10个整数,然后均除以100,其它情况依此类推。
          double dVal=(double)rand()/RAND_MAX;
             此语句就是得到0-1的小数,小数位数。。。。。




0 0
原创粉丝点击