srand(time(i));
在第二个for之前加上上面这句,估计能解决问题,rand();的起始一样的话,随机产生的数也是一样的。他相当于有个表,从表里某个位置开始,然后往后面取数,定在同一点的话,会产生同一个随机数。这是系统自身的问题。
把time()变化起来 。可以自己选择这个i,你可以用当前时间的DWORD值来做这个time();
或者写到for里面去,这样保证每次起始都不一样, 参考:
http://zhidao.baidu.com/question/291467972.html
srand((int)getpid()); 使用程序的ID(getpid())来作为初始化种子,在同一个程序中这个种子是固定的。所以第一个总是不变。