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() 随机函数的用法 - CSDN博客
- 2C++随机数(rand和srand)函数用法详解 - C语言中文网
C++ 提供了一组函数以生成和使用随机数字。随机数字就是从一组可能的值中进行随机选择而获得的一个值。该组中的值都有相同的被选中的几率。 随机数字常用于许多不同 ...
- 3C++ rand 与srand 的用法 - 菜鸟教程
C++ rand 与srand 的用法. 分类编程技术. 计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子。
- 4[亂數] <細說> C/C++ 亂數基本使用與常見問題@ Edison.X. Blog
C/C++ 提供的rand() ,它有範圍限制,最小是0 ,最大是多少? 最大被定義在stdlib.h / cstdlib 裡面的RAND_MAX,所以要得知最大是多少的話. Code Snip...
- 5C++中随机函数rand()和srand()的用法 - 阿里云开发者社区
C++中随机函数rand()和srand()的用法. 2017-11-14 1865 ... rand()产生的是伪随机数字,每次执行时是相同的;若要不同,用函数srand()初始化它。 程序例...