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

密码验证合格程序

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

int checksame(int*a,int n)
{
    char arr[3]={0};
    char*str=a;
    for(int i=0;i<n;i++)
    {
        strncpy(arr,str,3);
        char*pos=a;
        for(int j=0;j<n-3;j++)
        {
            if(j!=i && strncmp(arr,pos,3)==0)
                return 1;
            pos++;
        }
        str++;
    }
    return 0;
}

int judge(char*a,int len)
{
    int count=0;
    if(len<=8)
        return 0;
    int x=0,y=0,b=0,c=0;
    for(int i=0;i<len;i++)
    {
        if(isdigit(a[i]))
            x=1;
        else if(isupper(a[i]))
            b=1;
        else if(islower(a[i]))
            c=1;
        else
            y=1;
    }
    if(x+y+b+c<3)
        return 0;
    if(checksame(a,len))
        return 0;
    
    return 1;
}

int main()
{
    char arr[101]={0};
    while(scanf("%s",arr) !=EOF)
    {
        int len=strlen(arr);
        if(judge(arr,len))
            printf("OK\n");
        else
            printf("NG\n");
    }
    return 0;
}

全部评论

相关推荐

LuminousZJ:不行,最后还是要看学信网的,这点不能伪装,也骗不过人家,得不偿失
点赞 评论 收藏
分享
03-31 14:46
已编辑
门头沟学院 Web前端
励志成为双港第一ja...:这其实很正常,离的太远了,他认为你不会来,就为了混个面试,而且成本很高,实习生都优先选本地高校。吃了地域的亏,所有很多时候地域可能比院校层次更重要。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务