随机函数用于产生伪随机数,需要头文件stdlib.h。
int rand()可以产生一个[0,RAND_MAX]范围内的伪随机数,其中RAND_MAX是一个系统定义的常量。
使用rand()时,如果不设定随机数序列标签则只会得到重复的随机数序列。为了得到不同的伪随机数序列,可以使用
void srand(unsighed int seed)设置伪随机数序列表签。一般使用时间作为标签。
示例代码:使用随机数函数获得10个随机数
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x,i; printf("随机数序列为:");
for(i=0;i<10;i++)
{
x=rand()%100; printf("%d ",x);
}
return 0;
}
运行程序两次,第一次结果如下:
第二次运行结果:
我们发现,在不设置标签的情况下,每次生成的随机数是相同的。为了每次运行得到不同的随机数,可以利用系统时间作为标签,获得不同的随机数序列。
示例代码:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main()
{
int x,i;
time_t t=time(NULL);
srand(t);
printf("随机数序列为:");
for(i=0;i<10;i++)
{
x=rand()%100;
printf("%d ",x);
}
return 0;
}
两次运行结果如下:
第二次:
我们发现两次生成的随机数序列不同,说明使用系统时间作为标签是可行的。
我们在对比两个函数,会发现第二次的代码比第一次的代码多了一点东西,那就是#include<time.h>
如需了解time头文件
点击打开链接https://blog.csdn.net/mr_feng07007/article/details/79691541