這里確保產生的數不再重復,只要有重復的就在隨機新的數。

網站建設、基于H5頁面制作技術的Web開發(fā)、手機站開發(fā)、微信開發(fā)等互聯(lián)網應用服務。創(chuàng)新互聯(lián)公司始終關注著互聯(lián)網行業(yè)的前沿動態(tài),創(chuàng)新互聯(lián)堅信:真誠的態(tài)度,勤奮的工作是我們贏得客戶信賴的基礎;而不斷創(chuàng)新、力求完美,才是創(chuàng)新互聯(lián)共同邁向美好未來的保證。
//讓數不重復,而且每個數都有不好弄,但是如果是生成選手比賽順序,我這種做法就可以了。你把選手的編號放在一個數組里面,然后從數組的第一個開始,把生成的隨即數當成要交換的下標,隨即交換后就打亂順序了。
●第一個問題:產生隨機數。在C++中要產生隨機數必須用到兩個函數:srand()和rand()函數,使用這兩個函數必須包含頭文件 stdlib.h。
e[q]=rand() % 1+20;你這里的意思我不太明白 取模1?那一定是0啊 再+20 那就是說不管是什么數最后e[q]只能是。。
利用空間換時間的策略,用flag數組保證了數字不會重復,避免每次產生的隨機數都要遍歷一遍數組以避免重復的問題。
第二次從0-8里選,選過的消失。。最后2個為9,以后永遠都選不上第8和第九。無論9出沒出現過,以此類推。最終全部為九,其余消失。如果為10的話,其實也影響不了,因為最后幾個數永遠都不會取到、采納了吧。。
這種是算法問題,有很多中辦法啊,比如你定義一個a[10]里面放10個數,然后你設計一個函數,函數里隨機生成一個0-9的隨機數i,然后a[0]和a[i]交換,然后在你20次循環(huán)的一次循環(huán)里,跑100次這個函數,生成一組新數組。
srand(time(NULL));//設置隨機數種子。 while(n10) { int m = rand()%10; //獲取一個0~9的隨機數。 if(f[m]) continue;//該數之前已經獲取到過。 a[n++] = m;//將該數存入數組。
間。在調用此函數產生隨機數前,必須先利用srand()設好隨機數種子,如果未設隨機數種子,rand()在調用時會自動設隨機數種子為1。關于隨機數種子請參考srand()。srand((int)time(0));是產生的隨機數每次不一樣。
因為隨機函數只需要一個種子就能產生一系列的隨機數,并不是每個隨機數都需要一個種子。你把 srand(time(0)) 放到循環(huán)前面就可以了。
C語言/C++怎樣產生隨機數:這里要用到的是rand()函數, srand()函數,C語言/C++里沒有自帶的random(int number)函數。
分享題目:c語言rand函數不重復 c語言中rand
標題URL:http://chinadenli.net/article3/decesis.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站內鏈、網站設計、網站排名、網站策劃、、定制網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)