c 語言 隨機數 常見問題

2021-08-09 00:14:34 字數 853 閱讀 2754

#include#include#includeint main()

//播種一次,rand()終身隨機-可理解為:一勞永逸 or 終生服務 

srand(time(null));//給rand()設定set 種子 

int r2=rand();

i=1;

while(i<5)

printf("rand_max=%ld\n",rand_max);//在中  32767

//產生a~b區間上的隨機數-a,b為整數 ,區間步長step==1 

int a,b;

printf("please input a int,a=");

scanf("%d",&a);

getchar();

printf("please input a int,b=");

scanf("%d",&b);

getchar();

int r3=rand()%(b-a+1)+a;

/*why?

(b-a+1)為[a,b]上元素個數,如[3,5]-個數為3    ---取模 

則rand()%(b-a+1)==0 or 1 or 2 均<3 

加a後   3  4  5

ok!想必聰明的你已經get到了 

C語言隨機數,亂序問題

我在想乙個簡單的亂序怎麼生成,我寫了順序,然後打亂,請教一下大神怎麼打亂才能讓熵大。原始碼在下 include include include define n 10 隨機數運算要簡單,需要時間短,大神求交換s與n的關係 得到乙個不重複的隨機序列,上限n 1,下限0 int luan int dow...

隨機數 C語言

怎樣獲得某一範圍的隨機整數?直接使用這種方法 rand n 試圖返回從0到n 1的整數 不好,因為許多隨機數生成器的低位並不隨機。乙個較好的方法是 int double rand double rand max 1 n 兩種方法都需要知道rand max,而且假設n要遠遠小於rand max。如果n...

C語言隨機數

在c語言函式庫中包含了乙個產生隨機數的函式 int rand void 函式返回的是乙個界於0 32767之間的偽隨機數,包括0和32767。注意,這裡產生的是偽隨機數,不是真正意義上的隨機數,看下面的程式 include stdlib.h include stdio.h void main 執行結...