真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語言隨機小數(shù)函數(shù) c語言生成小數(shù)隨機數(shù)

C語言產(chǎn)生1~10隨機小數(shù)

//---------------------------------------------------------------------------

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比巴林右旗網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式巴林右旗網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋巴林右旗地區(qū)。費用合理售后完善,十年實體公司更值得信賴。

#include stdio.h

#include stdlib.h

#include time.h

double rnd(void)

{

static int fg=1;

int rd;

if (fg) {

srand(time(NULL));

fg=0;

}

return (double)(rand()%900+100)/100;

}

int main(void)

{

int i;

for (i = 0; i 10; i++) //輸出10個[1.00,10.00]區(qū)間內(nèi)的小數(shù)

printf("%.2f\n",rnd());

return 0;

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

c語言隨機函數(shù)rand()怎么使用?

它的返回值就是求取隨機的值,所以如果沒有對數(shù)有要求,直接這樣定:

printf("%d", rand());就能輸出一個隨機數(shù).但如果對數(shù)有要求,如小數(shù)或在一定值以內(nèi):

小數(shù):rand()+rand()/100.0 //100.0后面的.0必須寫,100是說明求兩位小數(shù),你可以自己加大.

一定范圍:rand()%10+0 //10是頂和底的差,0是底,就是說求10到20之間的數(shù)就是:rand()%10+10

但是調(diào)用它必須先調(diào)用srand()來生成隨機種子,如果你沒調(diào)用它,系統(tǒng)會自動調(diào)用.但是srand是有個參數(shù)的,種子就是根據(jù)這個參數(shù)來定的,所以這個參數(shù)決定著生成的隨機數(shù).如果你在代碼里寫死了它:srand(10);那這樣rand生成的隨機數(shù)就也被定格在了一定量,所以不要這樣用.要這樣寫:

srand(time(NULL));time的返回值是當(dāng)前系統(tǒng)時間.因為時間不同,所取的數(shù)值也就不同.這樣隨機數(shù)就真正的隨機了.

time在time.h中聲明

rand,srand在stdilb.h中聲明.

如何c語言中隨機產(chǎn)生1-50的隨機數(shù),包括小數(shù)?

VC環(huán)境下要比TC麻煩一些

格式如下:

#include "time.h"

#include "stdlib.h"

#include "stdio.h"

void main()

{

double x;

srand((unsigned)time(0)); //根據(jù)時間來產(chǎn)生隨機數(shù)種子

x=(double)rand()/RAND_MAX*49+1.0;//(double)rand()/RAND_MAX產(chǎn)生0到1之間的隨機數(shù),乘以49,加上1.0就是1到50的隨機數(shù)。

printf("%lf",x);

}

在C語言中,怎樣產(chǎn)生一個0到1的隨機數(shù)??

float

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

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

注釋:

stdlib.h

頭文件

中有宏#define

RAND_MAX

0x7fff

rand()產(chǎn)生一個0到0x7ffff即0到32767之間的

隨機數(shù)

rand()/(RAND_MAX+1.0)就等于一個0到1之間的

小數(shù)

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

式子

了.

如何用c語言取0-1間的隨機小數(shù)??

可以寫一個函數(shù),利用math.h中的rand來產(chǎn)生隨機浮點數(shù)。

#include

#include

#include

//

精度0.001的隨機浮點數(shù)

float

randf()

{

return

(float)(rand()

%

1001)

*

0.001f;

}

main()

{

int

i;

for

(i=0;

i100;

++i)

printf("%.3f\n",

randf());

system("pause");

}

VC里rand()的范圍是從0到某個內(nèi)部指定的極大數(shù),但是以前似乎有些書上說用rand得到的可能是負(fù)數(shù)。如果有出現(xiàn)負(fù)數(shù)的話,對rand得到的數(shù)取絕對值就可以了。

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

C語言中生成1個0到1的隨機數(shù)可以執(zhí)行語句:float b=rand()/(RAND_MAX+1.0);

解析:

標(biāo)準(zhǔn)C庫中函數(shù)rand()可以生成0~RAND_MAX之間的一個隨機數(shù),其中RAND_MAX 是stdlib.h 中定義的一個整數(shù),它與系統(tǒng)有關(guān)。rand()函數(shù)沒有輸入?yún)?shù),直接通過表達(dá)式rand()來引用;

用函數(shù)rand取得的隨機數(shù)除以(RAND_MAX+1.0),即可確保得到的結(jié)果在0到1之間。ISO IEC 9899 2011 (C11)標(biāo)準(zhǔn)中未規(guī)定 RAND_MAX 的具體數(shù)值。但該標(biāo)準(zhǔn)規(guī)定了RAND_MAX 的值應(yīng)至少為32767。編程的時候,不應(yīng)該對 RAND_MAX 的具體數(shù)值做任何假設(shè)。

擴展資料:

相關(guān)說明:

1、因為rand()函數(shù)是按指定的順序來產(chǎn)生整數(shù),因此每次執(zhí)行上面的語句都打印相同的兩個值,所以說C語言的隨機并不是真正意義上的隨機。

2、為了使程序在每次執(zhí)行時都能生成一個新序列的隨機值,我們通常通過為隨機數(shù)生成器提供一粒新的隨機種子。函數(shù) srand()(來自stdlib.h)可以為隨機數(shù)生成器播散種子。只要種子不同rand()函數(shù)就會產(chǎn)生不同的隨機數(shù)序列。srand()稱為隨機數(shù)生成器的初始化器。

3、隨機種子(Random Seed)是計算機專業(yè)術(shù)語,一種以隨機數(shù)作為對象的以真隨機數(shù)(種子)為初始條件的隨機數(shù)。一般計算機的隨機數(shù)都是偽隨機數(shù),以一個真隨機數(shù)(種子)作為初始條件,然后用一定的算法不停迭代產(chǎn)生隨機數(shù)。

參考資料來源:百度百科-隨機函數(shù)

參考資料來源:百度百科-RAND_MAX


當(dāng)前名稱:c語言隨機小數(shù)函數(shù) c語言生成小數(shù)隨機數(shù)
標(biāo)題來源:http://weahome.cn/article/hgdhcc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部