生成随机数(C语言,任意随机)

2 篇文章 0 订阅
随机函数用于产生伪随机数,需要头文件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头文件 点击了解详情
 
  • 22
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值