gpt4 book ai didi

c - 如何在 C 中停止数组中的重复值

转载 作者:行者123 更新时间:2023-12-04 10:45:14 24 4
gpt4 key购买 nike

我正在用 C 语言创建一个 5x5 棋盘游戏。我遇到的问题是,当我使用 rand() 时,它会重复一些数字。如何停止重复项和 0?

抱歉,如果问题太基础了。我是 C 的新手。

int createboard() {

int rows;
int columns;
int board[5][5];
int board2[5][5];

srand(time(NULL));

for (rows = 0; rows < 5; rows++) {
for (columns = 0; columns < 5; columns++) {
randomNumber = rand() % 25;
board[rows][columns] = randomNumber;
}
}
}

最佳答案

如果两次绘制相同数字的概率为零,

rand() 将不是特别好的生成器。

此处的标准方法是生成具有连续数字的棋盘,然后通过随机交换元素一定次数来洗牌它。

一个好的洗牌算法是https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle

关于c - 如何在 C 中停止数组中的重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48545612/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com