c/c++ 随机函数rand()和srand()学习笔记

本文介绍了C++中使用rand()和srand()函数生成随机数的方法,包括如何通过系统时钟设置随机种子来确保每次运行程序时都能获得不同的随机数序列。文中还提供了具体的代码示例,并解释了如何生成指定范围内的随机数。

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

用到函数rand()以及srand(unsigned int seed)     //在stdlib.h

只有rand(),生成一个固定数字,对于同一台电脑得到的是相同的结果(注:在网上看到,同一台电脑对于不同操作系统产生的不一样)

配合srand可以生成不同的随机数                //srand()用来生成随机种子,是随机数发生器的初始化函数

rand()内部是用线性同余法实现的       //这个不会再见   日后有机会学了再来补充rand()和srand()内部的东西(立flag)

rand()产生0~RAND_MAX之间的随机数

举例函数段:

#include<iostream>
#include<time.h>
#include<cstdlib>
int main()
{  
    srand((unsigned)time(NULL));
    for(int i=1;i<11;i++)
        cout<<rand()<<endl;
    return 0;
}

随机种子是由系统时钟而来,即time(NULL)。time(time_t * timer)返回类型是time_t,返回自Unix纪元起到当前时间的秒数

产生范围(x~y)内的随机数:
rand()%(y-x+1)+x
备注:
1.生成相同随机数的概率很小

2.srand函数取随机种子,rand()函数利用该随机种子可生成一序列数字

3.回头可以尝试做个抽学号工具

4.第一次发博客,文字编辑不来QAQ




                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值