C/C++ rand() and srand()用法及代碼示例- 純淨天空
文章推薦指數: 80 %
rand()函數在C中使用以生成隨機數。
如果我們使用rand()函數生成一個隨機數序列,它將在每次程序運行時一次又一次地創建相同的序列。
假設 ...
當前位置:首頁>>代碼示例
>>用法及示例精選
>>正文
rand()
rand()函數在C中使用以生成隨機數。
如果我們使用rand()函數生成一個隨機數序列,它將在每次程序運行時一次又一次地創建相同的序列。
假設如果在rand()的幫助下在C語言中生成5個隨機數,則每次編譯和運行程序時,輸出都必須是相同的數字序列。
用法:
intrand(void):
returnsapseudo-randomnumberintherangeof0toRAND_MAX.
RAND_MAX:isaconstantwhosedefaultvaluemayvary
betweenimplementationsbutitisgrantedtobeatleast32767.
//Cprogramtogeneraterandomnumbers
#include
輸出1:
4531276342589
輸出2:
4531276342589
輸出n:
4531276342589
srand()
srand()函數設置生成一係列偽隨機整數的起點。
如果未調用srand(),則設置rand()種子,就像在程序啟動時調用srand(1)一樣。
種子的任何其他值會將生成器設置為不同的起點。
用法:
voidsrand(unsignedseed):
Seedsthepseudo-randomnumbergeneratorusedbyrand()
withthevalueseed.
注意:在對rand()進行任何調用之前以及在程序啟動之前,偽隨機數生成器隻能播種一次。
每次要生成新一批偽隨機數時,都不應重複播種或重新播種。
標準做法是使用對srand(time(0))的調用結果作為種子。
但是,time()返回的time_t值每次都會變化,因此偽隨機數會隨每個程序調用而變化。
//Cprogramtogeneraterandomnumbers
#include
輸出1:
453143232589
輸出2:
897621234458975
輸出n:
56398731232124132
Howsrand()andrand()arerelatedtoeachother?
srand()設置種子,蘭德使用該種子來生成“random”號。
如果您在第一次調用rand之前沒有調用srand,就好像您已經調用srand(1)將種子設置為1一樣。
簡而言之,srand()—為rand()函數設置種子。
相關用法
C++cinget()用法及代碼示例
注:本文由純淨天空篩選整理自 rand()andsrand()inC/C++。
非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
延伸文章資訊
- 1C++ rand 与srand 的用法 - 菜鸟教程
C++ rand 与srand 的用法. 分类编程技术. 计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子。
- 2C/C++ rand() and srand()用法及代碼示例- 純淨天空
rand()函數在C中使用以生成隨機數。如果我們使用rand()函數生成一個隨機數序列,它將在每次程序運行時一次又一次地創建相同的序列。假設 ...
- 3C++ 中隨機函數random函數的使用方法- IT閱讀
C++ 中隨機函數random函數的使用方法 ... 1、C++標準函數庫提供一隨機數生成器rand,返回0-RAND_MAX之間均勻分布的偽隨機整數。
- 4C/C++ 使用rand 函數產生隨機亂數教學與範例程式碼 - GT Wang
在撰寫C/C++ 程式時,如果需要產生一些簡單的亂數,最方便的作法就是使用 rand 這個亂數產生函數,以下介紹這個函數的相關用法與範例。 rand 只能提供基本 ...
- 5C++ rand() 随机函数的用法 - CSDN博客