题解 | #密码验证合格程序#

密码验证合格程序

https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841

#include <stdio.h>
#include <string.h>
#include "ctype.h"

int three_type(char* str)
{
    int upper,lower,other,digit;
    upper=lower=other=digit=0;
    int len = strlen(str);
    for(int i=0;i<len;i++)
    {
        if(islower(str[i])){
            lower =1;
        }
        else if(isupper(str[i])){
            upper =1;
        }
        else if(isdigit(str[i])){
            digit =1;
        }
        else{
            other = 1; 
        }
    }
    if(upper+lower+other+digit>=3){
        return 1;
    }
    else
        return 0;
}

int _double(char* str)
{
    int len = strlen(str);
    for(int i=0;i<len-2;i++)
    {
        for(int j=i+1;j<len-2;j++)
        {
            if(str[i]==str[j]&&str[i+1]==str[j+1]&&str[i+2]==str[j+2])
            {
                return 0;
            }
        }
    }
    return 1;
}

int main() {
    char pswd[100];
    int flag_isok;
    int len;
    while(scanf("%s",pswd)!=EOF)
    {
        flag_isok = 1;
        len = strlen(pswd);
        if(len<8)
        {
            flag_isok = 0;
        }
        else if(_double(pswd)==0)
        {
            flag_isok = 0;
        }
        else if(three_type(pswd)==0)
        {
            flag_isok = 0;
        }

        if(flag_isok)
        {
            printf("OK\n");
        }
        else{
            printf("NG\n");
        }
    }

    return 0;
}

全部评论

相关推荐

10-28 11:04
已编辑
美团_后端实习生(实习员工)
一个2人:我说几个点吧,你的实习经历写的让人觉得毫无含金量,你没有挖掘你需求里的 亮点, 让人觉得你不仅打杂还摆烂。然后你的简历太长了🤣你这个实习经历看完,估计没几个人愿意接着看下去, sdk, 索引这种东西单拎出来说太顶真了兄弟,好好优化下简历吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务