随机函数用于产生伪随机数,需要头文件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头文件
点击了解详情
本文介绍如何使用C语言中的rand()函数生成伪随机数,并通过设置随机数种子srand()来确保每次程序运行产生不同的随机数序列。
&spm=1001.2101.3001.5002&articleId=79691125&d=1&t=3&u=41bb690d093e430aba59ea3caff24cf9)
596

被折叠的 条评论
为什么被折叠?



