请问turbo c中rand()函数的用法??

来源:百度知道 编辑:UC知道 时间:2024/05/30 00:21:00
举个例子
main()
{int a,i;
for(i=1;i<=10;i++)
{a=rand();
printf("%d\n",a);
}
}
就是这个简单的例子,程序第一次运行出来一个结果(10各随即数),然后再运行一次,结果和第一次的结果一样,这是为什么????
我想让程序输出N组不同的随机数!!!
帮帮我吧!!!!

srand函数是随机数发生器的初始化函数,原型:
void srand(unsigned seed);
它需要提供一个种子,如:
srand(1);
直接使用1来初始化种子。
不过常常使用系统时间来初始化,即使用
time函数来获得系统时间,它的返回值为从 00:00:00 GMT, January 1, 1970
到现在所持续的秒数,然后将time_t型数据转化为(unsigned)型在传给srand函数,即:
srand((unsigned) time(&t));
还有一个经常用法,不需要定义time_t型t变量,即:
srand((unsigned) time(NULL));

用随机函数先初始化。
randomize();
#includ <time.h>
int main(void)
{
int i;

randomize();
printf("Ten random numbers from 0 to 99\n\n");
for(i=0; i<10; i++)
printf("%d\n", rand() % 100);
return 0;
}

#include <time.h>
main()
{int a,i;
srand((unsigned)time(NULL));// 加这一句
for(i=1;i<=10;i++)
{a=rand();
printf("%d\n",a);
}
}