1. 程式人生 > >c語言用rand() 函式,實現random(int m)

c語言用rand() 函式,實現random(int m)

函式rand()是真正的隨機數生成器,而srand()會設定供rand()使用的隨機數種子。如果你在第一次呼叫rand()之前沒有呼叫srand(),那麼系統會為你自動呼叫srand()。

注意而使用同種子相同的數呼叫 rand()會導致相同的隨機數序列被生成。

因此我們如果要生成以m為隨機數的種子首先要呼叫srand();

下面就舉例,生成以100,為種子的隨機數10個,將他們控制在0~100之內.

#include <stdio.h>
int random(int m){
        return rand()%m;//將隨機數控制在0~m-1之間
}
int main(){
        int n=10,i,m=100,s=50;
        srand(s);//設定隨機數種子
        for(i=0;i<n;i++){
                printf("%d ",random(m));
        }
        printf("\n");
        return 0;
}
 
/*經常使用:srand(time(NULL));來生成以當前時間為種子的隨機數,要包含<time.h>*/