小明同学最近开发了一个网站,在用户注册账户的时候,需要设置账户的密码,为了加强账户的安全性,小明对密码强度有一定要求:

  1. 密码只能由大写字母,小写字母,数字构成;

  2. 密码不能以数字开头;

  3. 密码中至少出现大写字母,小写字母和数字这三种字符类型中的两种;

  4. 密码长度至少为8

现在小明受到了n个密码,他想请你写程序判断这些密码中哪些是合适的,哪些是不合法的。
这道题只需要将字符串从头到尾的每种字符(大写字符,小写字符,数字,其他字符)分别统计出来后。然后逐个判
断是否符合条件即可。对每个密码进行条件的判断包含有:
长度不小于8
不能以数字开头
只能包含字母和数字
大小写和字符必须具备两种以上
代码如下

#include<stdio.h>
#include<string.h>
int main()
{int n = 0;while(scanf("%d",&n)!=EOF)//输入不为空{for(int i = 0; i < n; i++){char pwd[101] = {0};scanf("%s",pwd);int lower = 0,higher = 0,digit = 0,other = 0;if(pwd[0] >= '0' && pwd[0] <= '9'){printf("NO\n");continue;}//密码不能以数字开头if(strlen(pwd) < 8){printf("NO\n");continue;}//密码长度至少为8for(int i = 0; pwd[i] != '\0'; i++){if(pwd[i] >= '0' && pwd[i] <= '9')digit++;//数字else if(pwd[i] >= 'a' && pwd[i] <= 'z')lower++;//小写字母else if(pwd[i] >= 'A' && pwd[i] <= 'Z')higher++;//大写字母elseother++;}if(other != 0){printf("NO\n");continue;}// 密码只能由大写字母,小写字母,数字构成//大写,小写,数字,必须具有两种以上,而比较运算真则1,假则0if((lower > 0) + (higher > 0) + (digit > 0) < 2){printf("NO\n");continue;}//密码只有1种字符printf("YES\n");}}return 0;
}

牛客网-密码检查-小明同学最近开发了一个网站,在用户注册账户的时候,需要设置账户的密码,为了加强账户的安全性,小明对密码强度有一定要求:。。。。。相关推荐

  1. Java 小明同学最近开发了一个网站,在用户注册账户的时候,需要设置账户的密码

    题目:小明同学最近开发了一个网站,在用户注册账户的时候,需要设置账户的密码,为了加强账户的安全性,小明对密码强度有一定要求: 1. 密码只能由大写字母,小写字母,数字构成: 2. 密码不能以数字开头: ...

  2. 牛客网 请检查是否存在语法错误或者数组越界非法访问等情况 case通过率为90.00%

    我在写python的时候发现了一件事情,我看了很多评论才找到什么原因的. 当你写好,提交调试后,90%用例通过了 请检查是否存在语法错误或者数组越界非法访问等情况 case通过率为90.00% 我实在 ...

  3. python牛客网编程题_一波优秀的自学编程语言网站

    网课已经开设两三个月了 同学们上网课的效果怎么样呢? 特别是学编程的同学 没有了学校的学习氛围 没有了老师面对面教学指导 你是否为了编程而焦头烂额,生无可恋呢? 没事,现在同学们的福利来啦! 下面是给 ...

  4. 2022-1-13牛客网C++项目—— 第二章 Linux 多进程开发(一)

    复习用的问题 进程和程序之间的关系是什么? 进程包含了哪些信息? 一.程序当中包含了一系列的信息,这些信息用于描述如何创建一个进程. 1)二进制格式标识:描述文件的格式,内核根据这个信息来解释文件中的 ...

  5. 【仿牛客网笔记】 Spring Boot进阶,开发社区核心功能-事务管理

    添加评论中会用到事务管理. 解决的程度不同,层级不同.我们一般选择中间的级别. 选择时既能满足业务的需要,又能保证业务的安全性,在这样的前提下我们追求一个更高的性能. 第一类丢失更新 图中是没有事务隔 ...

  6. 【仿牛客网笔记】初识Spring Boot,开发社区首页-开发社区首页

    get/set SelectDiscussPosts方法实现的是分页的方法,分页通过两个参数,一个是这一页的起始行的行号offset,另一个是这一页最多显示多少数据limit.拼接是将着两个拼接到一起 ...

  7. 2020年牛客网校招编程笔试题相关问题

    这里主要是介绍一些关于牛客网上面编程题笔试系统的一些容易踩的坑.希望大家春招顺利!据说点一下关注可以拿到满意的 offer! 1. 接口类型测试 牛客网的编程题目分为两种形式,第一种形式是完善核心代码 ...

  8. 牛客网 短最优升级路径 【Dijkstra算法】+【路径记录】

    链接:https://www.nowcoder.com/questionTerminal/a7052c5bd8634edb9ccee711a5c1ea54 来源:牛客网 短最优升级路径 题目描述:游戏 ...

  9. 2019牛客网高级项目

    本项目是一个基于SpringBoot的社区平台,实现了牛客网讨论区的功能.实现了邮箱注册.验证码登录.发帖.评论.私信.点赞.关注.统计网站访问次数等功能,数据库使用Mybatis.Redis,使用K ...

最新文章

  1. Ubuntu系统下移动宽带自动启用设置
  2. ctf -- 内存取证分析工具volatility的下载与安装+简单的使用
  3. c语言数组如何把一串数字存入数组_C语言经典编程题(下)
  4. android编译VTS测试组件
  5. sonarqube代码检核工具安装
  6. 95-260-058-源码-检查点-CheckpointBarrierHandler
  7. android gridview隐藏滚动条,如何禁用GridView中的ScrollViewer的滚动
  8. MyBatis模糊查询like的三种方式
  9. Easy Data Transform如何在Excel中删除重复的行?
  10. 2014北京邀请赛 F Football on Table
  11. 《java就业培训教程》读书笔记
  12. matlab2009安装教程
  13. Flash Media Server 4.5
  14. python当行刷新
  15. w7计算机摄像头怎么打开,如何打开摄像头,详细教您Win7摄像头怎么打开
  16. vertica MySQL_Vertica数据库简介
  17. 使用easyExcel实现浏览器下载Excel。
  18. 星起航:抖音小店体验分低怎么办,如何提高店铺体验评分?
  19. 修改照片为社保照片 358*441
  20. 鸿蒙系统会给其它厂商用,中国通信知名观察家项立刚:鸿蒙系统多终端互通,势必会给其他硬件厂商带来压力...

热门文章

  1. 【java初学】List集合
  2. 计算机网络管理员基础电子书,网络管理员教程.pdf
  3. android怎么用命令安装软件,android使用adb命令安装软件
  4. java 多态的应用——多态数组和多态参数详解
  5. 南阳百里奚计算机学校,南阳之子 百里奚
  6. 刚刚,2022中科院分区表发布(附下载)
  7. 上海怎样盘活闲置房 区县:多种方式支持
  8. 每日一题——整数除法
  9. 千兆万兆以太网测试仪
  10. 假如生活欺骗了你之ARP欺骗,原理图