亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

二維數組隨機數怎么產生,c語言

二維數組隨機數怎么產生,c語言

C
馮寶寶 2018-02-13 19:47:03
我需要一個二維數組里一定數量的隨機數,但是好難啊。。。。。。不要重復的
查看完整描述

2 回答

?
傻圓傻圓

TA貢獻14條經驗 獲得超23個贊

歸根結底就是如何產生隨機數且隨機數不重復,產生隨機數的話,只需要先通過srand()設定隨機數種子,然后通過調用rand()產生隨機數。

srand(time(NULL));
rand();

對于如何使其生成的數字不重復,我暫時能想到以下幾種方案:

  1. 每次新生成一個數字,都對整個二維數組進行遍歷,如果新生成的數字以及存在,則重新生成一個數字。

  2. 將生成的數字保存起來,如果新生成的數字已經被保存過,則重新生成一個數字。

  3. 手動設定或隨機生成一個隨機數的列表,每次隨機從中選取一個,隨后從列表中將其刪除。

對于以上三種方案:

  1. 對于1號方案,是最容易實現的,但是如果數組空間較大,是一個速度很慢,編寫簡單的方案。

  2. 對于2號方案,將數字保存起來,又需要能夠快速的判斷一個新的數字是否已經存在于其中,需要使用二叉樹來進行存儲,實現起來較為復雜,但是優點是速度快,編寫復制的方案。

  3. 對于3號方案,通過手動輸入或者通過1號方案較慢的生成列表,有了列表之后,進行之后的操作應該是這3個方塊最快的,但是缺點也顯而易見,改動數據范圍,整個列表都需要重新生成。

查看完整回答
反對 回復 2018-02-14
  • 馮寶寶
    馮寶寶
    謝謝,打這么多字,手肯定累了吧
?
楠寶寶_

TA貢獻46條經驗 獲得超18個贊

C語言的話,還算簡單的,難點在于如何生成隨機數。然后循環給定義二維數組入值就好了。

http://img1.sycdn.imooc.com//5a8317350001726e05560224.jpg

http://img1.sycdn.imooc.com//5a831736000185dd05330334.jpg

大佬需要我給你寫剩下的嗎?

查看完整回答
反對 回復 2018-02-14
  • 馮寶寶
    馮寶寶
    不要重復的,兄弟,不是大佬,一樣的界面,握手,,,,,
  • 2 回答
  • 0 關注
  • 3482 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號