C库函数获取随机数的原理

Posted on   牛man  阅读(62)  评论(0编辑  收藏  举报

1.what

rand库函数是用来获取一个伪随机数。使用时需要添加头文件#include<stdlib.h>,然后调用该函数即可获取一个随机数。

2.why(原理)

rand产生随机数的原理:

 3.how

problem

如果我们使用的时候,只调用了rand(),不改变种子,系统默认会设置种子的值为1即

srand(1),所以我们每次执行程序生成的随机数都是不变的。
如果我们要获取不同的随机数,则需要先设置不断变化的种子,需要设置srand((unsigned int)time(NULL)),通过每次获取系统的时间来获得一个
变化的种子。
复制代码
#include<stdio.h>
#include<stdlib.h>

int main()
{
    srand((unsigned int)getpid());/*getpid()获取进程的pid 作为种子,如果是同一个进程pid是相同的*/
    //srand((unsigned int)time(NULL)*10);/*设置不同的种子,为了产生不同的随机数 time()获取系统得时间*/
    //srand(1); /*默认得种子是1,获取的随机数是一样的*/
    int ch = rand()%100+1;//获取随机数1-99
    double f = (rand()%10)/10.0; //产生一个double类型随机数
    printf("ch = %d, f= %.5lf\r\n",ch,f);

    return 0;
}
复制代码

 参考链接

C语言rand()函数产生随机数详解_c语言rand函数_北冥有鱼丶丶的博客-CSDN博客

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示