精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
c語言中rand()函數的用法筆記

最近在學著用c寫一些小程序,過程中遇到很多問題,在網上查很多大神的講解,以及查閱vs2010的幫助文檔。在此做個筆記,以便今后查閱,備忘。感謝無私奉獻講解的大神們!

一、rand()

rand()函數用來產生隨機數,但是,rand()的內部實現是用線性同余法實現的,是偽隨機數,由于周期較長,因此在一定范圍內可以看成是隨機的。

rand()會返回一個范圍在0到RAND_MAX(32767)之間的偽隨機數(整數)。

在調用rand()函數之前,可以使用srand()函數設置隨機數種子,如果沒有設置隨機數種子,rand()函數在調用時,自動設計隨機數種子為1。隨機種子相同,每次產生的隨機數也會相同。

rand()函數需要的頭文件是:<stdlib.h>

rand()函數原型:int rand(void);

使用rand()函數產生1-100以內的隨機整數:int number1 = rand() % 100;

二、srand()

srand()函數需要的頭文件仍然是:<stdlib.h>

srand()函數原型:void srand (usigned int seed);

srand()用來設置rand()產生隨機數時的隨機數種子。參數seed是整數,通常可以利用time(0)或geypid(0)的返回值作為seed。

使用rand()和srand()產生1-100以內的隨機整數:srand(time(0));

    int number1 = rand() % 100;

三、使用rand()和srand()產生指定范圍內的隨機整數的方法

“模除+加法”的方法

因為,對于任意數,0<=rand()%(n-m+1)<=n-m

因此,0+m<=rand()%(n-m+1)+m<=n-m+m

因此,如要產生[m,n]范圍內的隨機數num,可用:

int num=rand()%(n-m+1)+m;

其中的rand()%(n-m+1)+m算是一個公式,記錄一下方便以后查閱。

比如產生10~30的隨機整數:

srand(time(0));

int a = rand() % (21)+10;

本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C 中rand() 函數的用法
單片機如何產生隨機數呢?這兩個方法可以試試
C++中產生隨機數
[049]?仿骰子程序-隨機數的產生 -- 一步一腳印 -- 編程愛好者博客
C,C++隨機數產生
純線性同余隨機數生成器
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 依安县| 磐安县| 前郭尔| 尉氏县| 嘉祥县| 方山县| 满城县| 南雄市| 兰溪市| 铁岭县| 宜兰县| 资阳市| 吉首市| 会昌县| 三河市| 新野县| 乌拉特后旗| 沅江市| 太仓市| 德阳市| 哈密市| 甘南县| 眉山市| 随州市| 龙岩市| 扎囊县| 靖州| 大港区| 淮安市| 上饶县| 广平县| 大悟县| 蒙阴县| 潞西市| 安丘市| 洛南县| 洛阳市| 伊宁县| 伊春市| 吉水县| 张家界市|