tft每日頭條

 > 生活

 > c語言随機數公式

c語言随機數公式

生活 更新时间:2024-11-30 06:13:31


c語言随機數公式(CC中rand)1

一、rand()

1、rand()不需要參數,它會返回一個從0到最大随機數的任意整數,最大随機數的大小通常是固定的一個大整數。即,rand()會返回一個範圍在0到RAND_MAX(32767)之間的僞随機數(整數)。

2、rand()函數需要的頭文件是:“stdlib.h”

rand()函數原型:int rand (void);

使用rand()函數産生0-99以内的随機整數:int number = rand() % 100;

3、在調用rand()函數之前,可以使用srand()函數設置随機數種子,如果沒有設置随機數種子,rand()函數在調用時,自動設計随機數種子為1。随機種子相同,每次産生的随機數也會相同。

如下: 産生介于 1 到 10 間的随機數值,此範例未設随機數種子

#include<stdio.h> #include<stdlib.h> int main() { int i,j; for(i=0; i<10; i ) { j=1 (int)(10.0 * rand()/(RAND_MAX 1.0)); //or j = 1 (int)(rand()) printf("%d ",j); } } //輸出 3 4 8 7 10 2 4 8 9 6 3 4 8 7 10 2 4 8 9 6 //再次執行仍然産生相同的随機數

二、srand()

1、srand()函數需要的頭文件仍然是:”stdlib.h”

srand()函數原型:void srand (usigned int seed);

2、通常rand()産生的随機數在每次運行的時候都是與上一次相同的,這樣是為了便于程序的調試。若要産生每次不同的随機數,則可以使用srand( seed )函數進行産生随機化種子,随着seed的不同,就能夠産生不同的随機數。

3、還可以包含”time.h”頭文件,然後使用srand(time(0))來使用當前時間使随機數發生器随機化,這樣就可以保證每兩次運行時可以得到不同的随機數序列,同時這要求程序的兩次運行的間隔超過1秒。

如下:産生介于 1 到 10 間的随機數值,此範例與執行結果可與 rand()進行對比

#include<time.h> #include<stdio.h> #include<stdlib.h> int main() { int i,j; srand((int)time(0)); for(i=0; i<10; i ) { j = 1 (int)(rand()); printf(" %d ",j); } } 8 4 5 3 6 2 3 5 9 8 7 3 6 7 2 2 4 8 6 5//再次執行産生不同的随機數

三、産生指定範圍内的随機整數的方法

1、采用“模除 加法”的方法

總的來說,可以表示為:int num = rand() % n a;

其中的a是起始值,n-1 a是終止值,n是整數的範圍。

2、如果要産生1~100,則是這樣:int num = rand() % 100 1;

3、一般性:rand() % (b-a 1) a ; 就表示 a~b 之間的一個随機整數。

(由于rand() % (b-a 1) 表示0~b-a之間的整數)

4、若要産生0~1之間的小數,則可以先取得0~10的整數,然後均除以10即可得到“随機到十分位”的10個随機小數。

若要得到“随機到百分位”的随機小數,則需要先得到0~100的10個整數,然後均除以100,其它情況依 此類推。

最後,如果你想學C/C 可以私信小編“01”獲取素材資料以及開發工具和聽課權限哦!

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved