解题思路:密码里可能有空格,所以用getline读入
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
getchar();
for(int i=1;i<=n;i++){
string s;
getline(cin,s);
if(s.size()<6)
cout<<"Your password is tai duan le."<<endl;
else{
int zimu=0,shuzi=0,legal=1;
for(int j=0;j<s.size();j++){
if(s[j] != '.' &&!isalnum(s[j])){
legal=0;
cout<<"Your password is tai luan le."<<endl;
break;
}
else{
if(isdigit(s[j]))
shuzi=1;
else if(isalpha(s[j]))
zimu=1;
}
}
if(legal){
if(zimu==1&&shuzi==0)
cout<<"Your password needs shu zi."<<endl;
else if(zimu==0&&shuzi==1)
cout<<"Your password needs zi mu."<<endl;
else if(zimu==1&&shuzi==1)
cout<<"Your password is wan mei."<<endl;
}
}
}
}
运行结果: