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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

c语言随机数的产生方法

發布時間:2024/3/24 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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语言随机数的产生方法的全部內容,希望文章能夠幫你解決所遇到的問題。

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