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

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

c語言不使用rand函數(shù) c++中rand函數(shù)的用法

請問各位高手如何用C語言編寫一個隨機(jī)數(shù)程序??!不過不能直接調(diào)用RAND函數(shù)!

rand函數(shù)也是調(diào)用dos的時鐘,進(jìn)行的偽隨機(jī)函數(shù)。

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括西崗網(wǎng)站建設(shè)、西崗網(wǎng)站制作、西崗網(wǎng)頁制作以及西崗網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,西崗網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到西崗省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

你也可以使用時鐘來模擬隨機(jī)函數(shù)。

可以試用gettime這個函數(shù):

long int MyRand(int x)

{

struct time t1,t2,t3;

gettime(t1);

int y1=t1.ti_hund;//取1/100s作為基數(shù)

gettime(t2);

int y2=t2.ti_hund;//取1/100s作為基數(shù)

gettime(t3);

int y3=t3.ti_hund;//取1/100s作為基數(shù)

return y1*y2*y3;//產(chǎn)生的隨機(jī)數(shù)0~99*99*99

}

============================

LZ我真的佩服你,都已經(jīng)給你寫到這個份上了,

產(chǎn)生0~1的很簡單嘛:

float y;

y=(MyRand()%100)/100.00;//這不是產(chǎn)生了0~1的隨機(jī)數(shù)嗎?

c語言我想取一個1-28隨機(jī)的一個數(shù)b,把這個過程插入已經(jīng)寫好的程序,但是不會用rand函數(shù),求解

rand函數(shù)會返回一個 [0, RAND_MAX] 間的隨機(jī)整數(shù),RAND_MAX至少為32767。

如下代碼,生成一個隨機(jī)整數(shù)數(shù)組

#include?stdio.h

#include?stdlib.h

#include?time.h

#include?conio.h

#define?ARR_LEN?255?/*?數(shù)組長度上限?*/

#define?elemType?int?/*?元素類型?*/

/*?生成n項(xiàng)min~max范圍的隨機(jī)數(shù)并存入數(shù)組randArr?*/

void?randomArray?(elemType?randArr[],?int?n,?elemType?min,?elemType?max)?{

int?i;

srand?((unsigned)time(NULL));?/*?用時間做種,每次產(chǎn)生隨機(jī)數(shù)不一樣?*/

for?(i=0;?in;?i++)

randArr[i]?=?rand()?%?(max-min+1)+min;?/*?產(chǎn)生min~max的隨機(jī)數(shù)?*/

}

/*打印數(shù)組*/

/*?elemType?arr[]:?打印目標(biāo)數(shù)組;?int?len:?元素個數(shù)?*/

void?printArray?(elemType?arr[],?int?len)?{

int?i;

for?(i=0;?ilen;?i++)

printf?("%d\t",?arr[i]);

putchar?('\n');

}

int?main?(void)?{

elemType?arr[ARR_LEN];

randomArray?(arr,?10,?1,?50);?/*?隨機(jī)生成10項(xiàng)1~50的數(shù)組?*/

printArray?(arr,?10);

getch?();?/*屏幕暫留*/

return?0;

}

C語言中stdlib頭文件是不是包含了srand和rand函數(shù),如果沒有用srand直接用rand是不是每次得到相同隨機(jī)數(shù)?

是的,頭文件stdlib.h里包含了srand和rand函數(shù)。如果沒有調(diào)用srand,那么rand將產(chǎn)生相同的隨機(jī)數(shù)“序列”——就是說如果第一次循環(huán)調(diào)用rand產(chǎn)生的隨機(jī)數(shù)序列是88,2,33,55……的話,第二次啟動循環(huán)調(diào)用rand產(chǎn)生的隨機(jī)數(shù)序列仍然是88,2,33,55……產(chǎn)生這一問題的根本原因是偽隨機(jī)序列發(fā)生器的初始狀態(tài)沒有發(fā)生變化造成的。srand函數(shù)的功能就是來改變偽隨機(jī)序列發(fā)生器的初始狀態(tài)。srand向偽隨機(jī)序列發(fā)生器的初始狀態(tài)寄存器寫入不同的值(狀態(tài)字),就能使rand函數(shù)產(chǎn)生不同的序列,就解決了“序列重復(fù)”的問題。顯然,人為安排狀態(tài)字是不現(xiàn)實(shí)的,因?yàn)榘才帕司妥儾涣肆?。所以用NULL來調(diào)用time函數(shù)獲致系統(tǒng)時鐘值轉(zhuǎn)換成無符號整數(shù)數(shù)作為srand的參數(shù),這樣每調(diào)用一次srand都會寫入不同的初始狀態(tài)字(因?yàn)闀r鐘每時每刻都是變化的),就達(dá)到目的了。

那就算了吧!我不知道與哪個長得像,這里沒有一個像的,也沒有一個真正講出要用srand的原因。我寫的時候誰的都沒有參考,別說是復(fù)制。如果可以,把認(rèn)為復(fù)制的答案弄出來我看看。


當(dāng)前文章:c語言不使用rand函數(shù) c++中rand函數(shù)的用法
分享路徑:http://weahome.cn/article/hisohs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部