题解 | #密码强度等级#

密码强度等级

https://www.nowcoder.com/practice/52d382c2a7164767bca2064c1c9d5361

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

// 1. 得到密码字符串
// 2. 根据规则打分
// 3. 输出分数对应等级

int main() {
    
    char input[310] = {0};
    gets(input);

    int score = 0;

    int len = strlen(input);
    if(len <= 4)
    {
        score += 5;
    }
    else if(len <= 7)
    {
        score += 10;
    }
    else 
    {
        score += 25;
    }

    int lower_num = 0;
    int upper_num = 0;
    int digit_num = 0;
    int other_num = 0;
    for(int i = 0; i < len; ++ i)
    {
        if(islower(input[i]))
        {
            ++ lower_num;
        }
        else if(isupper(input[i]))
        {
            ++ upper_num;
        }
        else if(isdigit(input[i]))
        {
            ++ digit_num;
        }
        else
        {
            ++ other_num;
        }
    }

    if((lower_num > 0 && upper_num == 0)|| 
        (upper_num > 0 && lower_num == 0))
    {
        score += 10;
    }
    if(lower_num > 0 && upper_num > 0)
    {
        score += 20;
    }


    if(digit_num == 1)
    {
        score += 10;
    }
    if(digit_num > 1)
    {
        score += 20;
    }


    if(other_num == 1)
    {
        score += 10;
    }
    if(other_num > 1)
    {
        score += 25;
    }

    if(lower_num>0 && upper_num> 0 && digit_num>0 && other_num>0)
    {
        score += 5;
    }
    else if((lower_num>0 || upper_num> 0) && digit_num>0 && other_num>0)
    {
        score += 3;
    }
    else if((lower_num>0 || upper_num> 0) && digit_num>0)
    {
        score += 2;
    }


    if(score >= 90)
    {
        puts("VERY_SECURE");
    }
    else if(score >= 80)
    {
        puts("SECURE");
    }
    else if(score >= 70)
    {
        puts("VERY_STRONG");
    }
    else if(score >= 60)
    {
        puts("STRONG");
    }
    else if(score >= 50)
    {
        puts("AVERAGE");
    }
    else if(score >= 25)
    {
        puts("WEAK");
    }
    else 
    {
        puts("VERY_WEAK");
    }

    return 0;
}

全部评论

相关推荐

05-29 09:02
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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