生成隨機數方法

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的小數,小數位數。。。。。




發佈了53 篇原創文章 · 獲贊 9 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章