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

密码验证合格程序

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;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 12:30
点赞 评论 收藏
分享
半解316:内容充实,细节需要修改一下。 1,整体压缩为一页。所有内容顶格。 2,项目描述删除,直接写个人工作量 修改完之后还需要建议,可以私聊
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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