#include <ctime>
//指定seed为当前系统流逝了的时间(单位为秒):time_t time(0):
srand((unsigned)time(0)); //或者srand(time(NULL));
for(int i=0;i<10;i++){
ran_num=rand() % 100+1;
cout<<ran_num<<" ";
}
这样随机出来的数就不会一样了
要使rand()在每次程序运行时产生的值都不一样,必须给srand(seed)中的seed一个变值,这个变值必须在每次程序运
行时都不一样。
你调用的是clock()函数。返回开启进程和调用clock()之间的的CPU时钟计时单元(clock tick)数,每过千分之一秒(1毫
秒),调用clock()函数返回的值就加1。因此该函数只能精确到1ms,低于1ms的程序全部返回0。
而你写的程序这么短!返回的seed应该每次都是0。不信你调试一下。呵呵
[ 本帖最后由 阿邋 于 2010-4-10 15:26 编辑 ]
//指定seed为当前系统流逝了的时间(单位为秒):time_t time(0):
srand((unsigned)time(0)); //或者srand(time(NULL));
for(int i=0;i<10;i++){
ran_num=rand() % 100+1;
cout<<ran_num<<" ";
}
这样随机出来的数就不会一样了
要使rand()在每次程序运行时产生的值都不一样,必须给srand(seed)中的seed一个变值,这个变值必须在每次程序运
行时都不一样。
你调用的是clock()函数。返回开启进程和调用clock()之间的的CPU时钟计时单元(clock tick)数,每过千分之一秒(1毫
秒),调用clock()函数返回的值就加1。因此该函数只能精确到1ms,低于1ms的程序全部返回0。
而你写的程序这么短!返回的seed应该每次都是0。不信你调试一下。呵呵
[ 本帖最后由 阿邋 于 2010-4-10 15:26 编辑 ]
我并不具有我想要的一切,只是我所有的都是我想要的!