题解 | #密码验证合格程序#
密码验证合格程序
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();
}
}
阿里云工作强度 710人发布
