IsFrog @ 2024-06-09 15:18:08
#include<bits/stdc++.h>
using namespace std;
bool hg(string s){
int b=0, a=0, n=0, t=0;
if(s.length()<6 || s.length()>12){
return false;
}
for(int i=0; i<s.length(); ++i){
if(s[i]!='0' && s[i]!='1' && s[i]!='2' && s[i]!='3' && s[i]!='4' && s[i]!='5' && s[i]!='6' && s[i]!='7' && s[i]!='8' && s[i]!='9' && s[i]!='a' && s[i]!='b' && s[i]!='c' && s[i]!='d' && s[i]!='e' && s[i]!='f' && s[i]!='g' && s[i]!='h' && s[i]!='i' && s[i]!='g' && s[i]!='k' && s[i]!='l' && s[i]!='m' && s[i]!='n' && s[i]!='o' && s[i]!='p' && s[i]!='q' && s[i]!='r' && s[i]!='r' && s[i]!='s' && s[i]!='t' && s[i]!='u' && s[i]!='v' && s[i]!='w' && s[i]!='x' && s[i]!='y' && s[i]!='z' && s[i]!='A' && s[i]!='B' && s[i]!='C' && s[i]!='D' && s[i]!='E' && s[i]!='F' && s[i]!='G' && s[i]!='H' && s[i]!='I' && s[i]!='J' && s[i]!='K' && s[i]!='L' && s[i]!='M' && s[i]!='N' && s[i]!='O' && s[i]!='P' && s[i]!='Q' && s[i]!='R' && s[i]!='S' && s[i]!='T' && s[i]!='U' && s[i]!='V' && s[i]!='W' && s[i]!='X' && s[i]!='Y' && s[i]!='Z' && s[i]!='!' && s[i]!='@' && s[i]!='#' && s[i]!='$'){
return false;
}
if(s[i]>='A' && s[i]<='Z'){
b++;
}
else if(s[i]>='a' && s[i]<='z'){
a++;
}
else if(s[i]>='0' && s[i]<='9'){
n++;
}
else if(s[i]=='!' || s[i]=='@' || s[i]=='#' || s[i]=='$'){
t++;
}
}
if(((b!=0 && a!=0) || (b!=0 && n!=0) || (a!=0 && n!=0)) && t >= 1){
return true;
}
return false;
}
int main() {
string str;
getline(cin, str);
while (!str.empty()) {
string s;
for (int i = 0; i < str.length(); ++i) {
if (str[i] == ',') {
str.erase(str.begin(), str.begin()+i);
break;
}
s[i]+=str[i];
}
if(hg(s)){
cout << s << endl;
}
}
return 0;
}
by 2023111206li @ 2024-06-14 22:43:21
哥们,你这个代码是真的shi山啊
by 2023111206li @ 2024-06-14 22:44:44
你那个长长的那个判断写错了,h,i,j,k中i后面应该是j而不是g
by 2023111206li @ 2024-06-14 22:46:40
判断完之后,再加入一个判断,如果出现的都不是数字字母四个特殊符号,那么就return false
by 2023111206li @ 2024-06-14 22:47:54
s[i]+=str[i];改成等于
by 2023111206li @ 2024-06-14 22:49:34
hg最后一行判断数字字母特殊符号的个数也不对,特殊符号的个数应该是小于等于1