题解 | #密码验证合格程序#
密码验证合格程序
https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841
#include <cctype> #include <iostream> using namespace std; int main() { string str; while (getline(cin, str)) { int a[4] = {0}; if (str.length() < 9) { cout << "NG" << endl; continue; } for (int i = 0; i < str.length(); i++) { if (isupper(str[i])) a[0]++; if (islower(str[i])) a[1]++; if (isdigit(str[i])) a[2]++; if (ispunct(str[i])) a[3]++; } int count = 0; for (int i = 0; i < 4; i++) { if (a[i] != 0) count ++; } if (count < 3) { cout << "NG" << endl; continue; } int tp =0; for (int i = 0; i < str.length(); i++) { for (int j = i + 1; j < str.length(); j++) { if (str[i] == str[j] && str[i + 1] == str[j + 1] && str[i + 2] == str[j + 2]) { tp = 1; break; } } } if (tp ==0) cout << "OK" << endl; else cout << "NG" << endl; str.clear(); } }