亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

c語言二維數(shù)組定義和賦值 隨機數(shù)c語言代碼


c語言二維數(shù)組定義和賦值 隨機數(shù)c語言代碼

文章插圖
隨機數(shù)的使用 , 是不少在學C語言過程中進行一些小功能開發(fā)的同學的一個技術問題 , 今天我們?yōu)榇蠹抑v解如何在C語言中使用隨機數(shù) 。通常情況下 , 使用最多的方法的就是使用rand函數(shù)隨機生成偽隨機數(shù)來完成隨機數(shù)的生成工作 。注意這里的偽隨機數(shù)并非是假的! 只不過是計算機按自己的一套理論生成 , 并不是”完全理想”狀態(tài)下的隨機數(shù) , 所以是可以接受的 。
函數(shù)原型為:int rand(void); 需要包含stdlib頭文件 , 它可以生成一個0 ~RAND_MAX之間的數(shù)字 , 其中RAND_MAX是一個宏 , VC6下筆者查看為0x7fff , 建議大家親自上機實驗!
大家可以自行上機測試 , 如發(fā)現(xiàn)新的問題或有其他好玩的 , 歡迎告知我們!我們的QQ群號是496926338群內(nèi)有大量的項目開發(fā)視頻和新手教學視頻
這個時候你可能會遇到下面幾個問題:
Q1:為什么每次生成的數(shù)字都一樣?A1:rand函數(shù)每次生成的數(shù)字與所謂的”種子”有關 , 使用rand函數(shù)前需要使用srand函數(shù)進行種種子(請見后文) 。如果沒有調(diào)用 , 系統(tǒng)會默認給1 , 導致每次的隨機數(shù)都一樣 。
Q2:為什么最大是0x7fff?A1:這可能取決于編譯器環(huán)境 , 筆者這里是VC6 , 在rand的函數(shù)中看到定義的最大值為0x7fff , 如下圖:
Q3:如果我想生成特定范圍內(nèi)的數(shù)字 , 該如何寫呢?A3:多多利用%求余運算符即可 。如:
生成10以內(nèi)的數(shù)字 , 可以參考rand()%10
生成1~10之間的數(shù)字 , 可以參考rand()%10+1
特定的 , 要生成a~b之間的數(shù)字 , 可以參考rand()%(b-a+1)+a
更多時候 , 我們希望每次運行生成的數(shù)字都不相同 , 這個時候需要配合srand函數(shù)來解決這一問題 。關于具體原因 , 大家可以參考rand函數(shù)與srand函數(shù)的實現(xiàn)細節(jié)來加以理解 , 代碼如下:
那么srand函數(shù)如何使用呢 , 先看函數(shù)原型:
void srand(unsigned seed); 只需要在rand函數(shù)使用之前 , 調(diào)用srand函數(shù)傳入一個種子即可 。但事實上傳入一個數(shù) , 往往產(chǎn)生的隨時仍然固定不變 。那么較為聰明的寫法目前看來只有使用系統(tǒng)時間作為種子最為合適 , 所以這里srand的參數(shù)往往傳入time(NULL)參數(shù)作為獲取系統(tǒng)當前時間作為種子 , 來產(chǎn)生不同的結果!
并注意類型一致 , srand((unsigned)time(NULL)); 記得添加time.h的頭文件!
測試代碼如下:
大家可以自行上機測試 , 如發(fā)現(xiàn)新的問題或有其他好玩的 , 歡迎告知我們!


    以上關于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關的問題,請您及時就醫(yī)或請專業(yè)人士給予相關指導!

    「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助: