为了账号安全,请及时绑定邮箱和手机立即绑定

二维数组随机数怎么产生,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语言的话,还算简单的,难点在于如何生成随机数。然后循环给定义二维数组入值就好了。

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

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

大佬需要我给你写剩下的吗?

查看完整回答
反对 回复 2018-02-14
  • 冯宝宝
    冯宝宝
    不要重复的,兄弟,不是大佬,一样的界面,握手,,,,,
  • 2 回答
  • 0 关注
  • 3364 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信