在我们注册某些网站的时候,很多需要提供手机号,用来接收验证码来完成注册。我们知道,每次的验证码都是随机的,那么这里面的验证码到底是如何随机生成的呢?今天,我就给大家展示一种6位随机密码生成的例子。本算法是小编原创猜测,如有雷同不胜荣幸。

首先贴出代码。

#include

#include

#include

char code[10];

int flag;

void input();

void output();

void CodeGen();

void main()

{

while(1)

{

input();

output();

}

}

void input()

{

printf(“To continue,按1继续,按0退出n”);

scanf(“%d”,&flag);

}

void output()

{

if(flag==1)

{CodeGen();

printf(“the random code for you is:%sn”,code);

}

else

printf(“thanks for using!n”);

}

void CodeGen()

{

int i,mark;

srand(time(NULL));//初始化时间种子

for(i=0;i<6;i++)//循环6次,生成6个字符密码

{mark=rand()%36;//产生从0到35共36个随机数,用来区分代表10个阿拉伯数字和26个小写英文字母

if(mark>=0&&mark<=9)

code[i]=mark+48;//如果随机数在0到9之间,则密码转化为字符型的0到9

else

code[i]=mark+87;//a的ascII码为97,比如随机数是10,则代表产生的字符是a;随机数是11,则代表产生的字符是b

}

code[i]=’/0′;//字符串结束符

}

程序的核心部分我已经做了详细注释,不再多说。主要值得一提的是该算法的核心在于srand和rand()随机数生成算法。srand和rand函数配合产生伪随机数列。srand函数在前,作用是初始化时间种子,为rand函数产生随机数提供种子。srand(unsigned T)通过参数T改变系统提供的种子值,从而使每次产生的种子值不同,这样rand函数调用产生的伪随机数就不同。通常情况下,我们可以使用系统时间来改变种子值,srand(time(NULL)),为rand函数提供不同的种子,从而产生不同的随机数。至于rand函数的用法,简单来讲就是,rand()%M,M是正整数,表示可能随机产生0到M-1种随机数值。

下面是程序的第一次运行结果

下面是第二次运行结果

可以看出两次生成的验证码都是随机的,这样基本可以实现网站注册中随机生成验证码的需求。

今天的C编程范例就演示到这里,各位亲们有什么疑问可以评论在下面,我会及时给予回复哦。

c语言随机生成字母,C语言编程实战案例——6位密码随机生成器相关推荐

  1. R语言诊断试验数据处理与ROC分析实战案例2

    R语言诊断试验数据处理与ROC分析实战案例2 目录 R语言诊断试验数据处理与ROC分析实战案例2 #ROC指标 #样例数据

  2. R语言诊断试验数据处理与ROC分析实战案例1

    R语言诊断试验数据处理与ROC分析实战案例1 目录 R语言诊断试验数据处理与ROC分析实战案例1 #ROC指标 #样例数据

  3. R语言因子分析FA(factor analysis)实战案例

    R语言因子分析FA(factor analysis)实战案例 目录 R语言因子分析FA(factor analysis)实战案例 #因子分析 #案例分析

  4. R语言诊断试验数据处理与ROC分析实战案例:联合诊断ROC

    R语言诊断试验数据处理与ROC分析实战案例:联合诊断ROC 目录 R语言诊断试验数据处理与ROC分析实战案例:联合诊断ROC #ROC指标 #样例数据

  5. c语言程序设计移动字母,C语言程序设计实例大全(220个例子)

    C语言程序设计实例大全,C语言是世界上最流行.使用最广泛的高级程序设计语言之一,这里c语言 程序设计 实例 大全有220个例子供大家参考 c语言开发实例目录: 第一部分 基础篇 001 第一个C程序 ...

  6. python随机生成100内的10个整数_用python随机生成数字教程_如何用Python编程随机产生10个随机整数,并输出这10个整数的和�9�3...

    如何用Python编程随机产生10个随机整数,并输出这10个整数的和 用Python编程产生10个随机整数,并整数的和,方法如下 准备材料python.电脑 1.需要加载的模块是:random. 2. ...

  7. c语言程序设计移动字母,c语言程序设计word版.pdf

    c语言程序设计word版 程序设计语言一般分为机器语言.汇编语言和高级语言三大类. 1.机器语言 对于计算机来说,一组机器指令就是程序,称为机器语言程序. 2.汇编语言 为了便于理解与记忆,人们采用能 ...

  8. html怎么随机生成字母,JS简单生成由字母数字组合随机字符串示例_气质_前端开发者...

    本文实例讲述了 前言 最近有个需求,是需要生成3-32位长度的字母数字组合的随机字符串,另一个是生成43位随机字符串. 方法一 奇妙的写法 Math.random().toString(36).sub ...

  9. java随机生成数字(Java随机生成字母)

    java里怎么产生1-100的随机数 我来说说这个用法 Math.random()这方法会返回一个(0,1)的double值 double a=Math.random(); 那么就a<1 &am ...

  10. Js 随机生成字母数字

    1.随机生成 1 Math.random().toString(36).substr(2); //k2jxrnj3x48 默认12位2 Math.random().toString(36).subst ...

最新文章

  1. c语言和c++字符串操作对比
  2. python将string转换为json_python -- 将string转换成dict的方法
  3. SpriteBuilder中如何平均拉伸精灵帧动画的距离
  4. 大公司青睐的50款开源工具
  5. maven配置testng_TestNG和Maven配置指南
  6. 了解mysql processlist_哪些MySQL processlist状态要引起关注
  7. django + mysql8修改数据库密码
  8. 微信小程序前台开发——实现登录,底部导航栏,顶部导航栏(分类显示)
  9. 王慧文:当下社会最稀缺的是“π型人才”
  10. 强迫症终结版 - 蹩脚梨视频下载器(很菜勿喷)
  11. 《皮肤的秘密》 读书笔记
  12. Unity 物体沿着某个轴在一定范围内来回旋转
  13. 又一所985大学成立【人工智能学院】
  14. 知识图谱实战应用11-基于py2neo构建一个简单的问答功能
  15. javascript eq()用法
  16. 键盘配置软件V2.0使用说明
  17. Flow公链 |FCL1.0正式上线
  18. 手机软件系统测试用例设计大全
  19. 【转】【荐】看似简单的问题 静态方法和实例化方法的区别
  20. 臭名昭著的黑客攻击事件 20件

热门文章

  1. 使用TTP224触摸芯片时出现的一些问题
  2. Nginx负载均衡配置
  3. 敏捷实践 | 分不清Kanban和看板的人只剩你了
  4. 晨曦 - 江湖一剑客
  5. 七剑下天山,独领自动化测试技术
  6. 高斯过程动态模型(GPDM)简析
  7. Python免费的验证码识别
  8. springboot蛋糕甜品点销售商城系统java
  9. sqlserver pivot 动态行转列且一行转多列的解决方案
  10. CTF 流量分析Wireshark Certificate例题