如何将随机字符放入C中的多维数组中

时间:2014-04-08 15:49:23

标签: c random

我正在尝试构建一个4X4的板,我正在尝试使用rand函数将随机字符放入板中。 我需要8对字符,我不希望有多对相同的字符。 我应该怎么做?..我尝试了很多变化而没有成功。

请帮忙。

1 个答案:

答案 0 :(得分:1)

不确定我的回答是你想要的。我希望它会有所帮助。

看起来您的问题更像是算法问题。让我们假设您正在尝试找到8个唯一的随机字符对,每对包含两个不同的字符。

然后你可以这样做:

  1. 获取您可能使用的所有可能字符,例如A~Z。
  2. 创建一个数组,其值是一个唯一的字符对,其中包含两个要使用的字符。您可以使用嵌套循环来执行此操作。
  3. 记录阵列中有多少元素。假设值为N。
  4. 使用函数rand()和数字N得到一个随机数r1。
  5. 拿起阵列位置r1的值并将其放入你的电路板。
  6. 使用数组的最后一个元素切换此元素。
  7. 使用函数rand()和数字N-1来获得一个随机数r2。然后再做第5步,第6步。
  8. 按照步骤4到步骤7进行操作以获得所需的所有8对。
  9. 如果您只想获得16个唯一字符,那么只需忽略第2步,但保留一个包含所有可能字符的数组。

    如果您想要某些奇怪的角色,例如' $','%'等,请使用ASC值。