求大神帮我看看哪错了
70分!!!
#include <bits/stdc++.h>
using namespace std;
string s, temp;
bool k(string s){
int a = 0, b = 0, c = 0, d = 0, e = 0;
for(int i = 0;i < s.size();i++){
if(s[i] >= 'a' && s[i] <= 'z') a = 1;
else if(s[i] >= 'A' && s[i] <= 'Z') b = 1;
else if(s[i] >= '0' && s[i] <= '9') c = 1;
else if(s[i] == '!' || s[i] == '@' || s[i] == '#' || s[i] == '$') d = 1;
else e = 1;
}
if(d == 0 || s.size() < 6 || s.size() > 12 || e == 1) return 0;
if(a == 0 || b == 0 || c == 0 || d == 0) return 0;
return 1;
}
int main(){
cin>>s;
for(int i = 0;i < s.size();i++){
if(s[i] != ','){
temp += s[i];
}else{
string test = temp;
if(k(test) == 1) cout<<test<<endl;
temp = "";
}
}
return 0;
}