密码生成器+随机数生成器

本文介绍了如何生成0到RAND_MAX范围内的随机数,并探讨了密码生成器的相关应用。

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

随机数生成器

0~RAND_MAX之间的随机数程序

#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main()
{
    srand((unsigned)time(NULL));
    for(int i = 0; i < 10; i++ )
        cout << rand() << '\t';
    cout << endl;
    return 0;
}

产生一定范围随机数的通用表示公式
要取得[a,b)的随机整数,使用(rand() % (b-a))+ a;
要取得[a,b]的随机整数,使用(rand() % (b-a+1))+ a;
要取得(a,b]的随机整数,使用(rand() % (b-a))+ a + 1;
通用公式:a + rand() % n;其中的a是起始值,n是整数的范围。
要取得a到b之间的随机整数,另一种表示:a + (int)b * rand() / (RAND_MAX + 1)。
要取得0~1之间的浮点数,可以使用rand() / double(RAND_MAX)。



密码生成器

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
    char pool[]=
    {
        '0','1','2','3','4','5','6','7','8','9',
        'a','b','c','d','e','f','g','h','i','j',
        'k','l','m','n','o','p','q','r','s','t',
        'u','v','w','x','y','z','A','B','C','D',
        'E','F','G','H','I','J','K','L','M','N',
        'O','P','Q','R','S','T','U','V','W','X',
        'Y','Z'
    };
    srand(time(0));
    char pwd[9];
    pwd[6]='\0';


    //freopen("out.txt","w",stdout);
    for(int i,j=1;j<=200;j++){///密码数量
        i=0;
        while(i!=6)
            pwd[i++]=pool[rand()%sizeof(pool)];
        printf("%s\n",pwd);
    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值