自己写的。C语言。就ifelse。题解 | #密码强度等级#

密码强度等级

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

#include<stdio.h>
int main() {
    int c, len = 0, XiaoXieZiMu = 0, DaXieZiMu = 0, ShuZi = 0, FuHao = 0, ZiMu = 0,
           res = 0;
    while ((c = getchar()) != 10) {
        len++;
        if ('a' <= c && c <= 'z') {
            XiaoXieZiMu++;
            continue;
        }
        if ('A' <= c && c <= 'Z') {
            DaXieZiMu++;
            continue;
        }
        if ('0' <= c && c <= '9') {
            ShuZi++;
            continue;
        }
        FuHao++;
    }
    //长度
    if (len >= 8) {
        res += 25;
    } else if (len >= 5) {
        res += 10;
    } else {
        res += 5;
    }
    //字母
    if (XiaoXieZiMu > 0 && DaXieZiMu > 0) {
        res += 20;
    } else if (XiaoXieZiMu == 0 && DaXieZiMu == 0) {
        res += 0;
    } else {
        res += 10;
    }
    //数字
    if (ShuZi > 1) {
        res += 20;
    } else if (ShuZi == 1) {
        res += 10;
    }
    //符号
    if (FuHao > 1) {
        res += 25;
    } else if (FuHao == 1) {
        res += 10;
    }
    //奖励
    if (XiaoXieZiMu > 0 || DaXieZiMu > 0) {
        ZiMu = 1;
    }
    if (XiaoXieZiMu > 0 && DaXieZiMu > 0 && ShuZi > 0 && FuHao > 0) {
        res += 5;
    } else if (ZiMu > 0 && ShuZi > 0 && FuHao > 0) {
        res += 3;
    } else if (ZiMu > 0 && ShuZi > 0) {
        res += 2;
    }
    //输出
    if (res >= 90) {
        printf("VERY_SECURE\n");
    } else if (res >= 80) {
        printf("SECURE\n");
    } else if (res >= 70) {
        printf("VERY_STRONG\n");
    } else if (res >= 60) {
        printf("STRONG\n");
    } else if (res >= 50) {
        printf("AVERAGE\n");
    } else if (res >= 25) {
        printf("WEAK\n");
    } else {
        printf("VERY_WEAK\n");
    }
    return 0;
}
全部评论

相关推荐

点赞 评论 收藏
分享
28小凳也想实习:项目不用一个业务一个轮子吗,刷牛客好多人说要一业务一轮子
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务