Algorithm 如何确保rand()不再选择一组点

Algorithm 如何确保rand()不再选择一组点,algorithm,random,random-sample,Algorithm,Random,Random Sample,我正在写一个代码,对一组4个数字执行随机扫描。我想扫描10000点(百万以后)。我刚刚了解了rand(),以下是相关部分: int numPoints = 10000; double A,B,C,D; for (i=0; i<=numPoints1;i++) { srand ( time(NULL) ); A = rand() % 500 + 100; B = rand() % 500 +

我正在写一个代码,对一组4个数字执行随机扫描。我想扫描10000点(百万以后)。我刚刚了解了rand(),以下是相关部分:

int numPoints = 10000;
double A,B,C,D;
 for (i=0; i<=numPoints1;i++) {

                srand ( time(NULL) );
                A = rand() % 500 + 100;
                B = rand() % 500 + 100;
                C = rand() % 100 - 100;        
                D = rand() % 5 + 2.5; 
但是,我在输出文件中注意到,很多时候,都会拾取相同的A、B、C、D集


Q:关于如何改善这种情况,有什么建议吗?

您应该将呼叫转移到
srand
。像这样:

srand(time(NULL));
for (i = 0; i <= numPoints1; i++)
{
   ...
}
srand(时间(空));
对于(i=0;i
srand(time(NULL));
for (i = 0; i <= numPoints1; i++)
{
   ...
}