代码如有不懂的请在评论区评论,看到尽量解答
CV AC 之后麻烦点个赞,谢谢!
#include <bits/stdc++.h>
using namespace std;
bool isSafe(char *pwd) {
int safeDegree[4] = {0}, n = strlen(pwd), d = 0;
if (n < 8) return false;
for (int i = 0; i < n; i++) {
if (isupper(pwd[i])) safeDegree[0] = 1;
else if (islower(pwd[i])) safeDegree[1] = 1;
else if (isdigit(pwd[i])) safeDegree[2] = 1;
else safeDegree[3] = 1;
}
d = safeDegree[0] + safeDegree[1] + safeDegree[2] + safeDegree[3];
return d >= 3;
}
int main() {
char pwd[51];
while (scanf("%s", pwd) != EOF) {
if (isSafe(pwd)) printf("YES\n");
else printf("NO\n");
}
return 0;
}