日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言随机数的产生方法

發(fā)布時間:2024/3/24 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言随机数的产生方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

寫程序時候有時候需要產(chǎn)生一個隨機數(shù),c語言有內建的隨機數(shù)產(chǎn)生函數(shù)rand();

它包含在stdlib庫中

例如

#include<stdlib.h>

int a;

a=rand();

這時,a變量內存的是0到32767(32位操作系統(tǒng))之間的一個隨機數(shù)。

但是雖然每次調用rand(),函數(shù)時值不一樣,他們是一個系列,可是下一次運行程序時候,出來的隨機數(shù)還是這個序列。

這是因為rand()函數(shù)要產(chǎn)生一個隨機數(shù)必須依靠一個種子數(shù),如果沒有約定,種子數(shù)就是1;

這樣每次程序運行產(chǎn)生的第一個隨機數(shù)都一樣,第二個也一樣以后都一樣。

為了解決這個問題,在調用rand()函數(shù)之前先調用一次srand(值)函數(shù);這樣隨著值的不同每次程序運行產(chǎn)生的第n個值也就不同了。為了方便,大部分程序員都用時間來作為值。

例如:

srand(time(NYLL));

這樣種子數(shù)就是隨時間變化的數(shù),rand()函數(shù)隨機出來的數(shù)就不是固定的序列了。

這時產(chǎn)生的隨機數(shù)是0到32767之間的一個數(shù),我們如果需要產(chǎn)生0到x之間的數(shù)可以取余操作例如產(chǎn)生0到10之間的數(shù),可以用:

a=rand()%11;

產(chǎn)生5到10之間的數(shù)

a=5+rand()%(11-5);

產(chǎn)生100到999之間的數(shù)

a=100+rand()%(1000-100);

產(chǎn)生x到y(tǒng)之間的數(shù):

a=x+rand()%(y+1-x);

這樣就可以產(chǎn)生隨機數(shù)了;

總結

以上是生活随笔為你收集整理的c语言随机数的产生方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。