自己写的。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; }