我有一个循环产生随机数。我想比较当前迭代中生成的随机数与所有先前迭代中生成的随机数,以及两个随机数之间匹配时的随机数。 这是我到目前为止,但它只比较当前随机数和它之前生成的随机数。C - 比较一个数组中的元素与以前的所有元素
for (i = 0; i < SIZE; ++i)
{
a[i] = (100*(1 + rand() % 12)) + (1 + rand() % 30);
for (j = i - 1; j < SIZE; ++j)
{
if (a[i] != a[j])
{
printf("Person %i - %i\n", i, a[i]);
}
else break;
}
}
您是否考虑在生成这些数字时保持数组排序? – hbagdi
它看起来像生成的数字是在一个小范围内。您是否考虑过使用HashMap或者可能是一个位数组来跟踪到目前为止生成的随机数字? – hbagdi
@hbagdi如何帮助?我只是一个初学者,我觉得这样会不必要地使事情复杂化。 –