为了测试程序,需要产生一些随机数,在网上找到一个很多人用的Demo,发现如果连续产生很多随机数的话,大部分是重复的,因为是根据系统时间来做种子的,我把程序做了一点小的修改,可以产生真正的随机数,经测试,很少出现重复。
#include <stdio.h>
#include <time.h>
#include <sys/stat.h>
#define MAX 100
int my_rand(int base);
int
main()
{
while(h<30)
{
day = my_rand(100);
cout << day << endl;
h++;
usleep(1000);
}
return 0;
}
int
my_rand(int base)
{
int i = 0;
usleep(10);
srand((unsigned)time(NULL)+rand());//在种子种再加一个随机数
while (i <= 0 )
{
i = rand()%base;
}
return i;
}