c語言用rand() 函式,實現random(int m)
阿新 • • 發佈:2019-02-01
函式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>*/