10.有序的數組,打亂成新數組(隨機數問題)

來源: 嗶哩嗶哩 2023-08-27 00:37:47

代碼如下:

srand函數是隨機數發生器的初始化函數。


(相關資料圖)

用法:

它初始化隨機種子,會提供一個種子,這個種子會對應一個隨機數,如果使用相同的種子后面的rand()函數會出現一樣的隨機數,如: srand(1); 直接使用1來初始化種子。

不過為了防止隨機數每次重復,常常使用系統時間來初始化,即使用 time函數來獲得系統時間,它的返回值為從 00:00:00 GMT, January 1, 1970 到現在所持續的秒數,然后將time_t型數據轉化為(unsigned)型再傳給srand函數,即: srand((unsigned) time(&t));

還有一個經常用法,不需要定義time_t型t變量,即: srand((unsigned) time(NULL)); 直接傳入一個空指針,因為你的程序中往往并不需要經過參數獲得的數據。

srand((unsigned) time(NULL))

關于隨機數的問題:

計算機并不能產生真正的隨機數,而是已經編寫好的一些無規則排列的數字存儲在電腦里,把這些數字劃分為若干相等的N份,并為每份加上一個編號用srand()函數獲取這個編號,然后rand()就按順序獲取這些數字,

當srand()的參數值固定的時候,rand()獲得的數也是固定的,所以一般srand的參數用time(NULL),因為系統的時間一直在變,所以rand()獲得的數,也就一直在變,相當于是隨機數了。只要用戶或第三方不設置隨機種子,那么在默認情況下隨機種子來自系統時鐘。

如果想在一個程序中生成隨機數序列,需要至多在生成隨機數之前設置一次隨機種子。 即:只需在主程序開始處調用srand((unsigned)time(NULL)); 后面直接用rand就可以了。不要在for等循環放置srand((unsigned)time(NULL));

關鍵詞:

你可能會喜歡:

国产高清一级毛片精品| 精品不卡一区中文字幕 | 在线视频精品一区| 久久精品国产男包| 中文字幕亚洲综合精品一区| 亚洲国产精品无码中文字| 久久免费国产精品| 久久国产成人亚洲精品影院| 国产高清在线精品一区二区三区| 精品国产一区在线观看| 国产乱码精品一区二区三区麻豆 | 亚洲精品乱码久久久久66| 国产精品一区三区| 国产精品熟女福利久久AV| 亚洲国产精品尤物yw在线| 国产91精品黄网在线观看| 亚洲精品99久久久久中文字幕 | 国产精品久久99| 国产对白精品刺激一区二区| 精品国产乱码久久久久久呢| 亚洲国产成人91精品| 国产精品成人va在线观看| 国产大片91精品免费观看不卡| 91精品啪在线观看国产91九色| 久久99精品久久久久久hb无码 | 911精品国产亚洲日本美国韩国| 人妻少妇精品视中文字幕国语| 熟妇无码乱子成人精品| 99久久久国产精品免费牛牛四川| 99视频精品全部在线播放| 3d动漫精品啪啪一区二区中文| 91免费福利精品国产| 香蕉久久夜色精品国产2020| 麻豆精品无码国产在线果冻| WWW国产亚洲精品久久麻豆| 国产精品VA在线播放| 国产精品美女免费视频观看| 田中瞳中文字幕久久精品| 无码精品国产VA在线观看| 亚欧在线精品免费观看一区| 久久精品成人一区二区三区|