在現實中我們經常用到隨機數,可怎麼實現呢,且聽小喬慢慢道來。
在c語言中,我們一般使用 標頭檔案中的 rand() 函式來生成隨機數
int
void
rand
()
可是卻發現生成的數字都一樣。
這是因為rand()常用的方法是用srand修改種子。函式產生的隨機數是偽隨機數,是根據乙個數值按照某個公式推算出來的,而這個數值由乙個公式計算得來,這個值在電腦啟動後是不變的。在這裡我將這個公式比作乙個種子,現在我們就要修改這個種子。
srand用法
void srand(unsigned int seed)為了使種子是不斷變化的我們使用到了時間函式time()(要在 time.h 標頭檔案下使用)
srand((
unsigned
int)
time
(null))
;
此時看一下**及執行結果
int
main()
}
輸出的結果不相同了。
這是因為time(null)
是隨毫秒變化的,種子變化極快,所以成無序性
設範圍區間為(max,min);
那麼只需rand%(max-min+1)+min
即可
**
int
main()
}
C語言生成隨機數
1 關於c語言中有rand 函式來產生隨機數,但是初始seed為1,這樣做有乙個問題,即會產生固定序列的數,比如單獨呼叫rand 時會產生 1804289383 846930886 1681692777 1714636915 1957747793 424238335 719885386 164976...
C語言隨機數的生成
在程式設計中,我們經常需要生成隨機數,例如,貪吃蛇遊戲中在隨機的位置出現食物,撲克牌遊戲中隨機發牌等。在c語言中,我們一般使用 標頭檔案中的 rand 函式來生成隨機數,它的用法為 int rand void void 表示不需要傳遞引數。c語言中還有乙個 random 函式可以獲取隨機數,但是 r...
C 隨機數生成
using system using system.collections.generic using system.text namespace createrandomno return sb.tostring 生成大寫字母隨機數 public static string getabcpwd i...