需include stdlib.h
數值=rand();
例:
取1-10的亂數 a=(rand()%10)+1;
取1-100的亂數 a=(rand()%100)+1;
取100-1000的亂數 a=(rand()%901)+100;
由上幾例可以歸納出來
要取 a~b 的亂數可以這麼寫:
(rand()%(b-a+1))+a
如果單用 rand 取亂數會發現取多次後會出現相同的亂數
這個時候就可以用其他技巧來幫忙
利用 srand() (定義在 stdlib.h)
用 srand 取亂數需要一個參數作為種子以產生新的亂數序列
而這個參數通常使用目前的時間傳入,這時候就需要用 time() (include <time.h>)
來幫忙。
利用 srand() (定義在 stdlib.h)
用 srand 取亂數需要一個參數作為種子以產生新的亂數序列
而這個參數通常使用目前的時間傳入,這時候就需要用 time() (include <time.h>)
來幫忙。
使用方法
在使用 rand 的前一行加上
srand(time(NULL));
ex:- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- void main()
- {
- int a;
- srand(time(NULL));
- a=(rand()%100)+1;
- printf("The Random Number is %d .n", a);
- }
- 05/10/24 修正 感謝kobe這位朋友
複製代碼 |