srand函数是随机数发生器的初始化函数。
原型:void srand(unsigned seed);
用法:它需要提供一个种子,这个种子会对应一个随机数,如果使用相同的种子后面的rand()函数会出现一样的随机数。如: 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))。
#include <stdio.h>
#include <stdlib.h>//用到了srand()函数
#include<time.h>
#define N 20
//using namespace std;
int main()
{
int arr[N],x,i;
int f=-1;
srand(time(NULL));//随机种子
for (i=0;i<N;i++)
{
arr[i]=rand()%1000;
}
printf("请输入要查找的数:");
scanf("%d",&x);//其中的 %d 表示整型
for (i=0;i<N;i++)
{
if (x==arr[i])
{
f=i;
break;
}
}
printf("\n随机生成的数组序列是:\n");
for (i=0;i<N;i++)
{
printf("%d",arr[i]);
printf("\n");//\n 表示换行
}
printf("\n\n");
if (i<0)
{
printf("没有找到数据%d\n",x);
}
else
{
printf("数据:%d位于数组的第%d个元素处\n",x,f+1);
}
system("pause");
return 0;
}