本篇文章為大家展示了C語(yǔ)言實(shí)現(xiàn)生成1到100隨機(jī)數(shù)的方法,代碼簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)建站是一家以網(wǎng)絡(luò)技術(shù)公司,為中小企業(yè)提供網(wǎng)站維護(hù)、成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站備案、服務(wù)器租用、空間域名、軟件開發(fā)、小程序開發(fā)等企業(yè)互聯(lián)網(wǎng)相關(guān)業(yè)務(wù),是一家有著豐富的互聯(lián)網(wǎng)運(yùn)營(yíng)推廣經(jīng)驗(yàn)的科技公司,有著多年的網(wǎng)站建站經(jīng)驗(yàn),致力于幫助中小企業(yè)在互聯(lián)網(wǎng)讓打出自已的品牌和口碑,讓企業(yè)在互聯(lián)網(wǎng)上打開一個(gè)面向全國(guó)乃至全球的業(yè)務(wù)窗口:建站聯(lián)系電話:028-86922220
生成10個(gè)1~100的隨機(jī)數(shù)
廢話不多說(shuō)直接上程序。
#include<stdio.h>#include<stdlib.h>#include<time.h> int main() {int ret = 0; srand((unsigned int)time(NULL));for(int i=0; i<10; i++) { ret = rand()%100;printf("%d ",ret); }return 0; }
這個(gè)程序是用來(lái)生成10個(gè)隨機(jī)的數(shù)。接下來(lái)會(huì)詳細(xì)說(shuō)一說(shuō)這個(gè)程序的構(gòu)成。
隨機(jī)數(shù)生成代碼的分析
以上程序的關(guān)鍵代碼是:
srand = ((unsigned)time(NULL)); ret = rand()%100;
rand()函數(shù)所需頭文件是
#include<stdlib.h>
rand()是生成偽隨機(jī)數(shù)的函數(shù),它會(huì)按照一定的序列來(lái)生成隨機(jī)數(shù),但是它序列是固定的:
程序每次執(zhí)行它都將按照這個(gè)序列來(lái)給出隨機(jī)數(shù),所以在對(duì)rand()不加限制條件的話,生成的隨機(jī)數(shù)不夠隨機(jī)。
time()函數(shù)所需要頭的頭文件是:
#include<time.h>
time()函數(shù),值得注意的是time函數(shù)的形參,這個(gè)形參是個(gè)指針變量,通常寫為time(NULL)。
這個(gè)函數(shù)的功能是,返回自1970年1月1日00:00:00到你先在電腦運(yùn)行的時(shí)間(例:2018年3月24日14:14:00)之間的時(shí)間。這個(gè)數(shù)是隨機(jī)的,隨著你電腦運(yùn)行時(shí)間而發(fā)生改變。
srand()函數(shù)所需要的頭文件是:
#include<stdlib.h>
srand()函數(shù)是偽隨機(jī)數(shù)發(fā)生器種子,它給rand()函數(shù)一個(gè)產(chǎn)生一個(gè)起點(diǎn)。在單獨(dú)使用rand()函數(shù)的時(shí)候,它將1作為默認(rèn)參數(shù)。srand()的形參是一個(gè)無(wú)符號(hào)的類型,即unsigned類型,可以是int,float,char等等。
但在這里為了達(dá)到隨機(jī)數(shù)效果,將使用time()函數(shù)來(lái)產(chǎn)生一個(gè)起點(diǎn),它直接作用于rand()函數(shù)。
注意:
ret = rand()%100;
rand()%100是為了產(chǎn)生100以內(nèi)的隨機(jī)數(shù)。
有趣的小程序
這是一個(gè)電腦自己猜數(shù)字的小程序。
#include<stdio.h>#include<time.h>#include<process.h>#include<stdlib.h>#include<Windows.h>int main() { int ret = 0; int guess = 0; int left = 0; int right = 100; srand((unsigned int)time(NULL)); ret = rand() % 100; printf("提供的答案數(shù)是->%d\n",ret); guess = 50; while (1) { if (guess > ret) { printf("猜大了->%d\n", guess); right = guess; guess = (right + left) / 2; Sleep(1000); } else if (guess < ret) { printf("猜小了->%d\n", guess); left = guess; guess = (right + left) / 2; Sleep(1000); } if (guess == ret) { printf("猜到了是%d", guess); break; } } system("pause "); return 0; }
這里使用了二分法的思想,讓電腦自己去猜100以內(nèi)的一個(gè)數(shù)。
使用了Sleep()函數(shù)用來(lái)延遲一下打印時(shí)間,Sleep()函數(shù)的參數(shù)的單位是ms,所以1000ms=1s。
上述內(nèi)容就是C語(yǔ)言實(shí)現(xiàn)生成1到100隨機(jī)數(shù)的方法,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
標(biāo)題名稱:C語(yǔ)言實(shí)現(xiàn)生成1到100隨機(jī)數(shù)的方法
文章分享:http://jinyejixie.com/article46/pppgeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、App設(shè)計(jì)、網(wǎng)站策劃、、網(wǎng)站排名、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)