gpt4 book ai didi

c - 在 C 中保存随机生成的数字

转载 作者:行者123 更新时间:2023-11-30 15:54:25 25 4
gpt4 key购买 nike

我正在尝试找到保存一组随机生成的数字的最佳方法,以便稍后可以在另一个函数中调用它们。基本上,我有一个函数可以生成数字并确保它们没有重复,但我需要另一个函数来搜索数字列表以查看用户是否选择了其中一个数字。每当我在搜索函数中调用随机数函数时,我都会得到不同随机数的列表。

基本上,我只是想找出保存这个数字数组的最佳方法,这样下次调用该函数时它就不会给我知道的数字,或者将其传递给下一个函数的最佳方法功能。

这是随机数生成器函数,以防您想了解我试图传递给下一个函数的内容。

int i, j;
/*generates the set of random numbers*/
for(i = 0; i < MAX; i++) {



random = rand() % 101;
/*checks to to make sure there is no repeats*/
for (j = 0; j < i; j++) {
if (lucky[j] == random) {
random = rand() % 101;
}
}
lucky[i] = random;

printf("%3d",random);
}

最佳答案

首先创建一个新数组:

int *lucky = malloc(amount_of_numbers_you_want * sizeof(int));

然后照常用随机数填充,然后返回。例如:

int* generate_random_numbers(int amount)
{
int *lucky = malloc(amount * sizeof(int));

/* Fill lucky[] with 'amount' unique random numbers. */

return lucky;
}

然后,每当您调用该函数时,请将其返回的指针保存在某处。当您不再需要该指针时,请不要忘记free()该指针,否则您将泄漏它占用的内存。

由于这看起来像家庭作业,因此我不会向您提供完整的代码,而是提供如何使用动态分配的数组处理此类问题的一般方法。

关于c - 在 C 中保存随机生成的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12990619/

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