C++求教,关于生成一组不重复的随机数

函数是长这样的:(CUS和ROW都是提前define过的int,CUS是数组大小)

 void  randomA(int chosenCus[])
{
    srand((unsigned)time(NULL));
    for (int i = 0; i < CUS; ++i)
    {
        chosenCus[i] = rand() % ROW;
        for (int j = 0; j < i; ++j)
        {
            while (chosenCus[i] == chosenCus[j])
            {
                chosenCus[i] = rand() % ROW;
            }
        }
        cout << chosenCus[i] << " ";
    }
    cout << endl;
}

求问为什么还是会输出重复的?
且每次重复时,都是数组的最后一个数与之前某个数重复。
多谢各位!

查看全部
u014767385
su1206
2016/03/15 13:41
  • c++
  • 点赞
  • 收藏
  • 回答
    私信
满意答案
查看全部

3个回复