c语言随机数的产生方法
生活随笔
收集整理的這篇文章主要介紹了
c语言随机数的产生方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
寫程序時候有時候需要產生一個隨機數,c語言有內建的隨機數產生函數rand();
它包含在stdlib庫中
例如
#include<stdlib.h>
int a;
a=rand();
這時,a變量內存的是0到32767(32位操作系統)之間的一個隨機數。
但是雖然每次調用rand(),函數時值不一樣,他們是一個系列,可是下一次運行程序時候,出來的隨機數還是這個序列。
這是因為rand()函數要產生一個隨機數必須依靠一個種子數,如果沒有約定,種子數就是1;
這樣每次程序運行產生的第一個隨機數都一樣,第二個也一樣以后都一樣。
為了解決這個問題,在調用rand()函數之前先調用一次srand(值)函數;這樣隨著值的不同每次程序運行產生的第n個值也就不同了。為了方便,大部分程序員都用時間來作為值。
例如:
srand(time(NYLL));
這樣種子數就是隨時間變化的數,rand()函數隨機出來的數就不是固定的序列了。
這時產生的隨機數是0到32767之間的一個數,我們如果需要產生0到x之間的數可以取余操作例如產生0到10之間的數,可以用:
a=rand()%11;
產生5到10之間的數
a=5+rand()%(11-5);
產生100到999之間的數
a=100+rand()%(1000-100);
產生x到y之間的數:
a=x+rand()%(y+1-x);
這樣就可以產生隨機數了;
總結
以上是生活随笔為你收集整理的c语言随机数的产生方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 海康威视 web端开发经验 (二)
- 下一篇: 039医疗项目-模块四:采购单模块—采购