<stdlib.h>
随机函数int rand(void)
注:rand函数没有参数,它的返回值为从0到RAND_MAX的随机整数,RAND_MAX为在<stdlib.h>中定义的一个数值,至少为32767
随机种子设置函数void strand(unsigned int seed)
注:seed为unsigned int类型的随机值,seed被称为随机数种子。strand函数没有返回值,它的作用为以指定的随机种子初始化随机数生成器
通过调用strand函数设置不同的随机种子,即可让rand函数根据不同的序列产生相应的随机整数
<time.h>
时间函数time(0)==time(NULL)
时间函数的返回值为从1970年1月1日0时0分0秒到现在的秒数
strand函数&&rand函数&&time函数
//初始化随机种子
strand(time(NULL)); //这条语句以现在的时间为随机数种子
…
a=rand()%100; //获取0~99的随机数
a=rand()%10; //获取0~9的随机数
a=rand()%2; //获取0~1的随机数
注:strand函数根据随机数种子值来随机尝试不同的序列,让rand函数根据产生的序列来产生随机整数,这也说明rand函数产生的随机数即返回值,并不是正在的随机数,通常被称为伪随机数
例:
//使用随机函数和随机种子设置函数创建一维随机数组
#include<stdio.h>
#include<stdlib.h> //包含了rand函数、srand函数
#include<time.h> //包含了time函数
#define N 10
void main()
{
int i,a[N];
srand(time(0)); //调用随机种子设置函数,随机数种子值为time函数的返回值
for(i=0;i<N;i++)
a[i]=rand()%101; //调用随机函数,通过for语句循环产生10个0~100的数字
for(i=0;i<N;i++)
printf("%d",a[i]);
return 0;
}