如何隨機產生值哩?
#include <iostream>
#include <time.h>
using namespace std;
const int MAX=100;
int main(int argc,char *argv[])
{
srand((unsigned)time(NULL)); // 把目前的時間設定為rand的seed,確保每一次的seed都不同
for (int i=0;i<10;i++)
cout << rand()%MAX<<endl; // 印出0-99的隨機數值
return 0;
}
C++中的標準函式庫<cstdlib>(包含在<iostream>中)提供兩個幫助生成偽隨機數的函數:rand()和srand();因此,我們必需包含iostream。
rand的seed預設值是1,且當seed一樣時,每一次產生出來的數會是一樣的,因此,我們必需每一次輸入不同的seed,使得產生出來的值才會是隨機值,因此,我們透過讀取當前的時間當作seed,則每一次都會不一樣。
參考資料:
隨機函數rand()[c++]
C++中用rand()和srand()產生偽隨機數
[转]总述基金选择的步骤
16 年前
沒有留言:
張貼留言