求教:vc++中随机数问题
我遇到的情况是在嵌套调用函数的情况:我把重要的代码截下来了程序代码:
void changeSchedule()
{ int num;
srand((unsigned)time(NULL));
num=rand()%2;
//随机选择一种方案
cout<<"随机选了第"<<num<<"种方案:"<<endl;
switch(num)
{
case 0:
{
swap();
break;
}
case 1:
{
remap();
break;
}
}
return;
}
void swap()
{ srand((unsigned)time(NULL));
//随机取出两处理器
while(pro1==pro2)
{
pro1=1+rand()%PRONUM;
pro2=1+rand()%PRONUM;
}
。。。省略部分代码
if(temp1!=0 && temp2!=0)
{ tempp1=ran1[rand()%temp1];
tempp2=ran2[rand()%temp2];
}
else changeSchedule();
return;
}
结果是迭代了2000多次才会得到不一样的随机结果。。。这是代码的问题嘛?