利用C++生成不同的随机数的函数rand()辅以srand()函数生成0~53之间的54个数字(之所以选择54是因为为洗牌而定)
算法一:先定义一个数组(可以全为0或者同一个数,也可以不赋值),首先利用srand()函数生成一个随机种子,利用rand()函数生成随机数,从第一个数开始进入到数组,每一个与之前的i-1个进行比较 若有相同的则可以重新生成在进行判断;实现代码如下:
</pre><pre name="code" class="html"><span style="font-family: Arial, Helvetica, sans-serif;">int main()</span>
{
int a[54];
srand((unsigned)time(NULL));
for (int i = 0; i < 54; i++)
{
a[i] = rand() % 54;
int j = i;
while (j--){
if (a[i] == a[j])
{
a[i] = rand() % 54;
j = i;
}
}
cout << a[i] << ' ';
}
cout << endl;
system("pause");
return 0;
}
算法2:利用C++STL容器与算法实现 首先定义一个容器