(leecode)密码检查

简介: 小明同学最近开发了一个网站,在用户注册账户的时候,需要设置账户的密码,为了加强账户的安全性,小明对密码强度有一定要求:1. 密码只能由大写字母,小写字母,数字构成;2. 密码不能以数字开头;3. 密码中至少出现大写字母,小写字母和数字这三种字符类型中的两种;4. 密码长度至少为8


有点感觉,试试看~




先贴解法,再说题目和思路

题解

#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() 
{
    int N = 0;
    scanf("%d",&N);
    getchar();
    while(N--)    
    {
        char str[101] = {0};
        scanf("%s",str);
        getchar();
        int len = strlen(str);
        if(len<8)
        {
            printf("NO\n");
            continue;
        }
        if(isdigit(str[0]))
        {
            printf("NO\n");
            continue;
        }
        int arr[3] = {0};
        for(int i=0; i<len; i++)
        {
            if(islower(str[i]))
                arr[0] = 1;
            else if(isdigit(str[i]))
                arr[1] = 1;
            else if(isupper(str[i]))
                arr[2] = 1;
        }
        if(arr[0] + arr[1] + arr[2] >= 2)
            printf("YES\n");
        else
            printf("NO\n");
    }
    return 0;
}


题目

描述

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


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


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


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


4. 密码长度至少为8


现在小明受到了n个密码,他想请你写程序判断这些密码中哪些是合适的,哪些是不合法的。


输入描述:

输入一个数n,接下来有n(n≤100)行,每行一个字符串,表示一个密码,输入保证字符串中只出现大写字母,小写字母和数字,字符串长度不超过100。


输出描述:

输入n行,如果密码合法,输出YES,不合法输出NO


示例:




思路

1:无需理会,输入已经保证了


2:单独判断即可


3:计算长度,小于8就NO


4:开一个数组,遍历密码,在下标为0,1,2的位置分别判断,他们分别代表小写字母,数字,大写字母,符合就置1,最后加起来>=2,就YES,否则NO

目录
相关文章
|
Linux Shell 数据安全/隐私保护
Linux修改密码是提示“passwd: 鉴定令牌操作错误”问题的处理办法
今早忽然想修改一下一个普通用户的密码,root登录进去之后键入修改密码命令之后发现提示“passwd: 鉴定令牌操作错误”。
6910 0
|
1天前
|
安全 BI 数据安全/隐私保护
每天一道C语言编程:合格密码的判定
每天一道C语言编程:合格密码的判定
9 0
|
1天前
|
数据安全/隐私保护
HJ20 密码验证合格程序
HJ20 密码验证合格程序
25 0
|
7月前
|
数据安全/隐私保护
华为机试HJ20:密码验证合格程序
华为机试HJ20:密码验证合格程序
|
数据安全/隐私保护
牛客网OR141 密码检查——“C”
牛客网OR141 密码检查——“C”
|
数据安全/隐私保护
|
数据安全/隐私保护
PTA 1081 检查密码 (15 分)
本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母、数字和小数点 .,还必须既有字母也有数字。
375 0
|
安全 算法 Java
密码转换的算法解析(简单密码)
HashMap在java编程中是非常方便对于我们赋值取值
密码转换的算法解析(简单密码)
|
数据安全/隐私保护
070.用栈设置密码
070.用栈设置密码
65 0
|
算法 数据安全/隐私保护
密码验证合格程序(算法)
密码验证合格程序(算法)