题解 | #密码强度等级#

密码强度等级

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

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

int main()
{
    char secret[300];
    while (scanf("%s", secret) != EOF)
    {
        int len, alpha = 0, bigalpha = 0, num = 0, sign = 0;
        int grade = 0;
        len = strlen(secret);
        for (int i = 0; i < len; i++)
        {
            if (secret[i] >= '0' && secret[i] <= '9')
                num++;
            else if (secret[i] >= 'A' && secret[i] <= 'Z')
                bigalpha = 1;
            else if (secret[i] >= 'a' && secret[i] <= 'z')
                alpha = 1;
            else
                sign++;
        }
        if (len <= 4)
            grade += 5;
        else if (len <= 7)
            grade += 10;
        else
            grade += 25;

        switch (alpha + bigalpha)
        {
        case 1:
            grade += 10;
            break;
        case 2:
            grade += 20;
            break;
        }

        if (num == 1)
            grade += 10;
        else if (num > 1)
            grade += 20;

        if (sign == 1)
            grade += 10;
        else if (sign > 1)
            grade += 25;

        if (alpha && bigalpha && num && sign)
            grade += 5;
        else if (alpha + bigalpha && num && sign)
            grade += 3;
        else if (alpha + bigalpha && num)
            grade += 2;

        if (grade >= 90)
            printf("VERY_SECURE\n");
        else if (grade >= 80)
            printf("SECURE\n");
        else if (grade >= 70)
            printf("VERY_STRONG\n");
        else if (grade >= 60)
            printf("STRONG\n");
        else if (grade >= 50)
            printf("AVERAGE\n");
        else if (grade >= 25)
            printf("WEAK\n");
        else if (grade >= 0)
            printf("VERY_WEAK\n");
    }

    return 0;
}
全部评论

相关推荐

05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
点赞 评论 收藏
分享
06-27 18:45
中山大学 Ruby
25届应届毕业生,来广州2个礼拜了,找不到工作,绝望了,太难过了…
应届想染班味:9爷找不到工作只能说明,太摆了或者太挑了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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