自己调了半天找不到问题......
求大佬调
代码
#include<iostream>
using namespace std;
bool sc = false; //strange char
int bsn = 0; //big letter,small letter,number
bool check(string s){
if(s.size() > 12 || s.size() < 6) return false;
else{
for(int i=0; i<s.size(); i++){
if(s[i] >= '0' && s[i] <= '9') bsn++;
else if(s[i] >= 'A' && s[i] <= 'Z') bsn++;
else if(s[i] >= 'a' && s[i] <= 'z') bsn++;
else if(s[i] == '!' || s[i] == '@') sc = true;
else if(s[i] == '#' || s[i] == '$') sc = true;
}
if(sc && bsn >= 2) return true;
return false;
}
}
int main(){
bool flag = false;
string str;
getline(cin, str);
string st;
for(int i=0; i<str.size(); i++){
if(str[i] == ','){
flag = true;
if(check(st)) cout<<st<<endl;
st = "";
continue;
}
st += str[i];
}
if(!flag){
if(check(st)) cout<<st<<endl;
}
return 0;
}