C语言 产生随机数

本文介绍了C语言中生成随机数的基本方法,包括rand()函数的工作原理及其局限性,并详细解释了如何通过srand()函数设置随机数种子来获得更广泛的随机数序列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

rand()函数

#include <stdlib.h>
int rand(void);

rand()是根据某个种子,以特定的算法,计算出一系列数的函数。返回的数在0和RAND_MAX之间。RAND_MAX定义在stdlib.h中,至少是32767。

然而,这生成的是伪随机数,因为种子在计算机开机后就设定好了,所以这一系列数都是可预测的,每次得出的数列都是相等的。想要得到真正的随机数,必须重新设定这个种子。

srand()函数

#include <stdlib.h>
void srand(unsigned int seed);

srand(seed)是C语言中,用于设定随机数种子的函数,通常用时间作为seed,每次运行的时间都不同,所以产生的随机数种子也不同。srand(time(NULL))

如何产生随机数

  1. 调用srand(time(NULL)),设置随机数种子
  2. 反复调用rand(), 产生随机数
#include <stdlib.h>
#include <stdio.h>
#include <time.h>           
 
void main( void )
{
  int i;
  srand((unsigned)time(NULL));          
    for(i = 0; i < 10; i++) {                          
        printf("%d\n", rand());
    }
}

转载于:https://www.cnblogs.com/shenlinken/p/9404570.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值