#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
//被4整除的餘數範圍是0~3,如果用rand函數返回的隨機數除以所需數字的範圍長度(即範圍內數的數量),便會返回0到最大範圍之間的值(不包含最大值)
int randRange(int low,int high){
return rand() % (high-low+1) + low; //假設目標是0~10,則有11種可能出現的值 ,最後加上low,假設
//想獲取10到20之間的數,通過上面的方法只能獲得0到10之間的隨機數,再加10才能將範圍設定到10到20之間
}
int main() {
/*當發現bug時,可以使用相同的隨機種子可以最快找到bug ,例如如果種子是35434333,可以使int srand_seed = 35434333,這樣每次程序運行都得到可預期的值*/
int srand_seed = time(NULL); //記錄每次運行的種子值,方便測試
cout << srand_seed << endl;
//srand函數將某個數字設置爲種子,需包含cstdlib頭文件
srand( srand_seed ); //上面三行也可以合成srand( time(NULL) ); 該函數在最開始處調用
for (int i = 0; i <1000 ; ++i) {
cout<<randRange(4,10) <<endl;
}
return 0;
}
獲得隨機數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.