这个题如果了解这三个函数的话,可能会变的很简单
int isalnum(int c) 检查所传的字符是否是字母和数字
void isalpha(int c) 检查所传的字符是否是字母。
void isdigit(int c) 检查所传的字符是否是十进制数字字符。
以上三个函数包含在ctype.h库中
柳神代码
#include <iostream>
#include <cctype>
using namespace std;
int main() {
int n;
cin >> n; getchar();
for (int i = 0; i < n; i++) {
string s;
getline(cin, s);
if (s.length() >= 6) {
int invalid = 0, hasAlpha = 0, hasNum = 0;
for (int j = 0; j < s.length(); j++) {
if (s[j] != '.' && !isalnum(s[j])) invalid = 1;
else if (isalpha(s[j])) hasAlpha = 1;
else if (isdigit(s[j])) hasNum = 1;
}
if (invalid == 1) cout << "Your password is tai luan le.\n";
else if (hasNum == 0) cout << "Your password needs shu zi.\n";
else if (hasAlpha == 0) cout << "Your password needs zi mu.\n";
else cout << "Your password is wan mei.\n";
} else
cout << "Your password is tai duan le.\n";
}
return 0;
}