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

密码验证合格程序

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

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 17:13
想去,但是听说加班强度实在难崩,所以拒绝了,现在有点心梗对面hr感觉也是实习生,打电话的时候怪紧张的,但是感觉人很好嘞
水中水之下水道的鼠鼠:哥们这不先去体验一下,不行再跑呗,大不了混个实习经历(有更好的转正offer就当我没说)
点赞 评论 收藏
分享
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
今天 12:11
我最近都有点不想活了,天天早10晚11的,还问我爱不爱她目前的状态别说爱谁了,没扇谁就不错了。是不是大家都是一进节子,只有工作没有爱情了
AzureSkies:在字节的时候找的就是字节的,飞书太适合恋爱人士了,能看到是不是已读,是不是在会议中。简直冥婚好伴侣
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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