(leecode)密码检查

有点感觉,试试看~ 



 

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

题解

#include 
#include 
#include 

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= 2)
            printf("YES\n");
        else
            printf("NO\n");

    }
    return 0;
}


题目

描述

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

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

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

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

4. 密码长度至少为8

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

输入描述:

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

输出描述:

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

示例:

(leecode)密码检查_第1张图片



 

 思路

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

2:单独判断即可

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

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

 

 

你可能感兴趣的:(C语言,leetcode,c语言)