在c語言中,怎樣產生0到1的隨機數

2021-12-23 08:42:07 字數 3805 閱讀 4381

1樓:東鳴宦樂

float

b=rand()/(rand_max+1.0);

printf("%f\n",b);

注釋:stdlib.h

標頭檔案中有巨集#define

rand_max

0x7fff

rand()產生乙個0到0x7ffff即0到32767之間的隨機數rand()/(rand_max+1.0)就等於乙個0到1之間的

小數了,因為rand()最大是32767最小是0,再除以32768就是乙個0到1之間的小數(不能等於1),再乘以10就是乙個0到10之間的數了(不等於10).最後再加1,就成了乙個求1到10之間隨機數的

式子了.

2樓:秘金法平彤

#include

void

main(void)}

3樓:湛藍水晶

srand(time(0));

(rand()%11)/10.0;

用%10只能產生0--0.9之間的

4樓:

函式原型:int rand( void );

rand()%10取得1~9之間的數.

(float)(rand()%10)/(float)10所得資料則在0~1之間

5樓:匿名使用者

stdlib.h

void main()

如何用c語言產生0到1之間的隨機數?

6樓:匿名使用者

可以寫乙個函式,利用math.h中的rand來產生隨機浮點數。

#include

#include

#include

// 精度0.001的隨機浮點數

float randf()

main()

有些書上說用rand得到的可能是負數。如果有出現負數的話,對rand得到的數取絕對值就可以了。

7樓:愛染年

方法一:

1、功能:

產生0到1之間均勻分布的乙個隨機數

2、方法說明:

設m=216,產生產生0到1之間均勻分布的乙個隨機數的計算公式如下:

ri=mod(2053ri-1 +13849,m),i=1,2,3……

pi =ri/m

例:連續產生10個0到1之間均勻分布的乙個隨機數 。r的初值取5.0#include "stdio.h"

double rnd1(double *r)main()

方法二:

float b=rand()/(rand_max+1.0);

printf("%f\n",b);

注釋:stdlib.h標頭檔案中有巨集#define rand_max 0x7fff

rand()產生乙個0到0x7ffff即0到32767之間的隨機數rand()/(rand_max+1.0)就等於乙個0到1之間的小數了,因為rand()最大是32767最小是0,再除以32768就是乙個0到1之間的小數(不能等於1),再乘以10就是乙個0到10之間的數了(不等於10).最後再加1,就成了乙個求1到10之間隨機數的式子了.

8樓:匿名使用者

用stdlib.h中的隨機數產生器。當然還要#include首先srand(time(null));種隨機數種子。

然後用算式float result=rand()%256;rand()是產生乙個介於0到256的隨機數的函式。

9樓:

看看吧別人已經答了呵呵

c語言中產生0—1的100個隨機數

10樓:屈飛文邊童

這是一種辦法,還想知道其他函式就去看透檔案吧#include

#include

#include

intmain()

return(0);}

11樓:悲劇的

#include"time.h"

#include"stdio.h"

#include"stdlib.h"

#include"malloc.h"

#define n 10

#define list_init_size 100struct list ;

typedef struct list list;

void list_init(list *l)int list_del(list *l,int i,int e)void main()

printf("%d\n\n\n\n\n\n",l.elem[9]);

for(i=0;i

printf("\n");

}輸出隨機不重複的隨機數~

可能有點問題,你自己再除錯下吧

12樓:萬倩

c語言中有專門的乙個函式的

c語言中如何生成1個0到1的隨機數

13樓:八哥說科技

c語言中生成1個0到1的隨機數可以執行語句:float b=rand()/(rand_max+1.0);

解析:標準c庫中函式rand()可以生成0~rand_max之間的乙個隨機數,其中rand_max 是stdlib.h 中定義的乙個整數,它與系統有關。

rand()函式沒有輸入引數,直接通過表示式rand()來引用;

用函式rand取得的隨機數除以(rand_max+1.0),即可確保得到的結果在0到1之間。iso iec 9899 2011 (c11)標準中未規定 rand_max 的具體數值。

但該標準規定了rand_max 的值應至少為32767。程式設計的時候,不應該對 rand_max 的具體數值做任何假設。

14樓:劇琨瑜寧姮

#include

void

main(void)}

15樓:匿名使用者

float b=rand()/(rand_max+1.0);

printf("%f\n",b);

注釋:stdlib.h標頭檔案中有巨集#define rand_max 0x7fff

rand()產生乙個0到0x7ffff即0到32767之間的隨機數rand()/(rand_max+1.0)就等於乙個0到1之間的小數了,因為rand()最大是32767最小是0,再除以32768就是乙個0到1之間的小數(不能等於1),再乘以10就是乙個0到10之間的數了(不等於10).最後再加1,就成了乙個求1到10之間隨機數的式子了.

c語言中如何產生1或0隨機數

16樓:物理公司的

#include

#include

#include

int main()

17樓:好程式設計師

float b=rand()/(rand_max+1.0);

printf("%f\n",b);

注釋:stdlib.h標頭檔案中有巨集#define rand_max 0x7fff

rand()產生乙個0到0x7ffff即0到32767之間的隨機數rand()/(rand_max+1.0)就等於乙個0到1之間的小數了,因為rand()最大是32767最小是0,再除以32768就是乙個0到1之間的小數(不能等於1),再乘以10就是乙個0到10之間的數了(不等於10).最後再加1,就成了乙個求1到10之間隨機數的式子了.

在C語言中0與0的區別是,C語言中的0與 0 有什麼區別?

他們是常量中不同的資料型別呀 0是整型常量,佔記憶體兩個位元組 0 是字元常量,佔記憶體乙個位元組 只是 0 在電腦中用電腦語言所代表的數值和0是相同的 字串常量和字元常量是不同的量。它們之間主要有以下區別 1 字元常量回由單引號括起來,字元答串常量由雙引號括起來。2 字元常量只能是單個字元,字串常...

在c語言中ak什麼意思,在C語言中,ak0什麼意思

字串結尾中止字元 比如 定義乙個字串,char a 3 對字串賦值如下 a 0 a a 1 b a 2 c a 3 0 0 字元簡單說就是告訴一串字元的結尾符 0 這個表示字串結束符 a k 0 表示把結束符賦值給字元陣列a的第k 1個元素 c語言中x 0是什麼意思 判斷變數x的值是否為0 如果是 ...

a2c0在C語言中的真假

類似於 if a 2 c 0 這樣的表達方式是非常不妥的。因為無論a 2還是c 0本身都是乙個賦值語句而不是表示式,而乙個賦值語句的返回值是沒有意義的。因此難以判斷是真是假,在不同的機器上使用不同的編譯器編譯,可能結果不同。象這樣寫程式就弄不清楚你注重的到底是判斷條件,還是條件內部的變數賦值。這種程...