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

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

【C語言】randsrandtime三函數(shù)聯(lián)合生成隨機數(shù)(詳解+用法)-創(chuàng)新互聯(lián)

很多時候,我們需要程序生成隨機數(shù),本篇文章將詳解這三個函數(shù),然后使用他們生成隨機數(shù)。

創(chuàng)新互聯(lián)公司是一家業(yè)務范圍包括IDC托管業(yè)務,雅安服務器托管、主機租用、主機托管,四川、重慶、廣東電信服務器租用,德陽服務器托管,成都網(wǎng)通服務器托管,成都服務器租用,業(yè)務范圍遍及中國大陸、港澳臺以及歐美等多個國家及地區(qū)的互聯(lián)網(wǎng)數(shù)據(jù)服務公司。
文章目錄
  • rand 隨機數(shù)發(fā)生器
  • srand初始化隨機數(shù)發(fā)生器
  • time 時間戳函數(shù)
  • 總結(jié)

rand 隨機數(shù)發(fā)生器

rand頭文件:stdlib.h
rand功能:生成一個隨機數(shù)。
rand函數(shù)聲明:

int rand (void);

rand函數(shù)無需傳入?yún)?shù),返回值是 0-RAND_MAX(32767) 之間的一個數(shù)。每個數(shù)字被選中的概率是相同的。
rand使用實例:

#include#includeint main()
{printf("%d\n", rand());
	printf("%d\n", rand());
	printf("%d\n", rand());
	printf("%d\n", rand());
	printf("%d\n", rand());
	printf("%d\n", rand());
	
	return 0;
}

注意:
rand函數(shù)是偽隨機,默認隨機數(shù)種子是1。
如果隨機數(shù)種子是相同的,每次程序運行算法迭代產(chǎn)生的結(jié)果就是相同的
下圖是隨機數(shù)種子為1時的運行結(jié)果,即使再次運行結(jié)果也不變:
代碼輸出實例
要想讓每次程序隨機的不同,這時就需要srand函數(shù)了。

srand初始化隨機數(shù)發(fā)生器

srand頭文件:stdlib.h
srand功能:設置隨機數(shù)種子。
srand函數(shù)聲明:

void srand(unsigned int seed);

seed是一個無符號類型的數(shù),不同的seed可以設置不同的隨機數(shù)種子。
srand使用實例:

#include#includeint main()
{srand(1);
	printf("%d\n", rand());
	printf("%d\n", rand());
	printf("%d\n", rand());
	printf("%d\n", rand());
	printf("%d\n", rand());
	printf("%d\n", rand());
	printf("\n");
	srand(2);
	printf("%d\n", rand());
	printf("%d\n", rand());
	printf("%d\n", rand());
	printf("%d\n", rand());
	printf("%d\n", rand());
	printf("%d\n", rand());
	return 0;
}

注意:相同的seed程序每次運行的結(jié)果依然一樣。
代碼輸出實例
因此我們想讓每次程序運行給srand傳遞個不同的參數(shù),這時就需要time函數(shù)了。

time 時間戳函數(shù)

time頭文件:time.h
time功能:計算當前時間的時間戳。
Unix 時間戳:從1970年1月1日(UTC/GMT的午夜)開始所經(jīng)過的秒數(shù),不考慮閏秒。
Unix時間戳在線工具
因此時間戳是隨時間始終變化的。
time函數(shù)聲明:

time_t time (time_t* timer);

time_t是對long long int的重命名。
timer是long long int型指針,傳入NULL參數(shù)就可以計算標準Unix時間戳。
time函數(shù)返回值就是long long int 型時間戳的數(shù)值。
time使用實例:

#include#include#includeint main()
{srand((unsigned int)time(NULL));
	printf("%d\n", rand());
	printf("%d\n", rand());
	printf("%d\n", rand());
	printf("%d\n", rand());
	printf("%d\n", rand());
	printf("%d\n", rand());
	return 0;
}

注意:
需要強制類型轉(zhuǎn)換成int型再給srand傳參,否則就是語法錯誤。
隨機數(shù)種子設置一次就行了,不需要重復設置。
代碼輸出實例

總結(jié)

生成一個1-100的隨機數(shù)函數(shù)代碼演示:

#include#include#includeint main()
{srand((unsigned int)time(NULL));
	int randomNum=rand()%100+1;
	printf("%d\n",randomNum);
	randomNum=rand()%100+1;
	printf("%d\n",randomNum);
	
	return 0;
}

代碼輸出實例


以上你就掌握了如何生成一個隨機數(shù)了。
碼字不容易,歡迎關注、點贊、收藏、評論、轉(zhuǎn)發(fā)。

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


分享名稱:【C語言】randsrandtime三函數(shù)聯(lián)合生成隨機數(shù)(詳解+用法)-創(chuàng)新互聯(lián)
分享鏈接:http://weahome.cn/article/gieis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部