1樓:匿名使用者
rand()%最大+最小
這樣輸入範bai圍產生隨機數,但du是電腦zhi裡的隨機數順dao序已經排列好了,執行程式後你內會發現每次出現容的隨機數都一樣,所以要設定一個隨機數種子,來插入電腦已經排列好的隨機順序,這樣就能解決每次出現一樣資料的問題。 把下面這段程式加到rand()前面就ok了。。。
unsigned seed;
printf("please input seed:");
scanf("%u",&seed);
srand(seed);
rand產生的是偽隨機數,什麼叫偽隨機數?還有rand和srand有什麼區別啊?謝謝了,大神幫忙啊
2樓:青春無悔°擄夔
stdlib.h標頭檔案中有巨集#define rand_max 0x7fff rand()產生一個0到0x7ffff即0到32767之間的隨機數 rand()/(rand_max+1.0)就等於一個0到1之間的小數了,因為rand()最大是32767最小是0,再除以32768就是一個0到1之間的小數(不能等於1),再乘以10就是一個0到10之間的數了(不等於10).
最後再加1,就成了一個求1到10之間隨機數的式子了. srand函式是隨機數發生器的初始化函式,原型: void srand(unsigned seed); 它需要提供一個種子,如:
srand(1); 直接使用1來初始化種子。 不過常常使用系統時間來初始化,即使用 time函式來獲得系統時間,它的返回值為從 00:00:
00 gmt, january 1, 1970 到現在所持續的秒數,然後將time_t型資料轉化為(unsigned)型在傳給srand函式,即還有一個經常用法,不需要定義time_t型t變數,即: srand((unsigned) time(null)); 直接傳入一個空指標,因為你的程式中往往並不需要經過引數獲得的t資料。
srand((int)getpid()); 使用程式的id(getpid())來作為初始化種子,在同一個程式中這個種子是固定的 隨機輸出十個0-100之間的整數 #include #include #include void main( void ) }
求教c語言中rand()和srand()具體用法的區別?另外,rand()是產生0到1之間的隨機數
3樓:匿名使用者
rand()產生一個0~32767之間的偽隨機數。而srand(unsigned t)是為rand()產生偽隨機數下一個「種子」
。所謂「回種子」就是給偽隨機發答生器賦一個初值,因為如果初值一樣,後面產生的偽隨機數的規律也就一樣,達不到「隨機」的目的。所以srand(unsigned t)一般是用機中的實時時間來啟動的,因為實時時間的值每時每刻都在變化,這樣啟動的rand()函式產生的偽隨機數序列就能達到以假亂真的效果
誰能結實一下c語言中隨機srand和rand函式的區別
4樓:
rand()產生一個0~32767之間的偽隨機
數。而srand(unsigned t)是為rand()產生偽隨機數
下一個「回種子」。答所謂「種子」就是給偽隨機發生器賦一個初值,因為如果初值一樣,後面產生的偽隨機數的規律也就一樣,達不到「隨機」的目的。所以srand(unsigned t)一般是用機中的實時時間來啟動的,因為實時時間的值每時每刻都在變化,這樣啟動的rand()函式產生的偽隨機數序列就能達到以假亂真的效果。
5樓:匿名使用者
樓上說的比較完善了,我再補充一下。
連續執行若干個rand(),其返回值是同一個隨機數。必須通過srand之後才能產生新的隨機數。
rand產生的隨機數是什麼型別
6樓:匿名使用者
函式原型:int rand(void);
所以返回值為int型
返回的隨機數範圍是0~rand_max
7樓:宛丘山人
數值型別,歲語言不同而不同,又多是整形,有的是實型
8樓:
int型別 c語言中的一種下整數型別
9樓:匿名使用者
int or unsigned int
c 問題rand預設產生的隨機數範圍
隨機數bai產生的範圍是 0 0x7fff 也就du是0到32767 include include include include using namespace std void main srand unsigned time null 時間參zhi數作為種子 for int i 0 i 32...
c 產生隨機數的程式,C 產生隨機數的程式
要看r的 了吧。如果r的 是某個和時間有關的數 就可以解釋了 後三句就是 讓某個在65536和0之間的數除以65536獲得0和1之間的隨機數 r 2053.0 r 13849.0 這是兩個有個是素數吧 應該是的 2053就是 質因數分解13849 11 1259 那麼這兩個素數的公倍數大於65535...
c 關於產生一定比例的隨機數,c 問題 rand() 預設產生的隨機數範圍
如果生成固定數量的兔子和狼,那麼你的思路反了,用兔子做例子,你應該用兔子的數量來迴圈,然後隨機生成位置,如果位置上已經有兔子或者狼了就重新隨機位置。如果你想要一定的概率而不是一定的數量,那你的結構沒有大問題,但得在隨機的時候考慮他們之間的比例。比如你的比例是4 2 1,那麼就rand 7,得到0 3...