参考资料:
[1]https://www.cnblogs.com/salan668/p/3652532.html
[2]靠谱的思路:http://blog.sina.com.cn/s/blog_57de62c00100ltak.html
靠谱的思路参考:
http://blog.sina.com.cn/s/blog_57de62c00100ltak.html
以下这个方法会引发巨大的问题。
#include<iostream>
#include<ctime>
using namespace std;
//从N(0~N-1)个数中随机去count个互不相同的数,存入数组t中
void RandomNumFromN(int N,int count,int* t)
{
srand((unsigned)time(NULL));
// int t[3]= {0};
// int N = 1000;//1000个数
// int count = 3;//取3个数
int flag;
for(int i=0;i<count;i++)
{
int tmp = rand()%N;//从N个数中随机选1个数
for(int j=0;j<i;j++)//和已保存的数中进行比较
{
if(tmp == t[j])
{
flag =1;
break;
}
}
if(flag ==1)
{
i--;
continue;
}
else
{
t[i]=tmp;
}
}
}
int main()
{
int a[3]={0};
RandomNumFromN(1000,3,a);
cout<<a[0]<<endl;
cout<<a[1]<<endl;
cout<<a[2]<<endl;
}