题解 | #密码验证合格程序#
密码验证合格程序
https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841
#include <ctype.h> #include <stdio.h> #include <string.h> int main() { char str[101]; while (scanf("%s", str) != EOF) { int flag[4] = {}, fit = 0; if (strlen(str) > 8) { for (char i = 0; i < strlen(str); i++) if (islower(str[i])) flag[0] = 1; else if (isupper(str[i])) flag[1] = 1; else if (isdigit(str[i])) flag[2] = 1; else flag[3] = 1; for (int i = 0; i < 4; i++) if (flag[i]) fit++; if (fit >= 3) { for (char* p = str; p - str < strlen(str) && fit; p++) { char subStr[3]; memcpy(subStr, p, 3); if (strstr(p + 3, subStr)) fit = 0; } if (fit) { printf("OK\n"); continue; } } } printf("NG\n"); } }