你猜写得对不对(孬)
2025-11-16 11:49:17
发布于:湖北
3阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int check(string s) {
int len=s.length();
if(len<6 || len>12){ //范围检测
return false;
}
int low=0,upp=0,dig=0,spc=0;
for (int i = 0; i < len; ++i) {
char c = s[i];
if (islower(c)) { //小写字母判断
low = 1;
} else if (isupper(c)) { //大写字母判断
upp = 1;
} else if (isdigit(c)) { //数字判断
dig = 1;
} else if (c == '!' || c == '@' || c == '#' || c == '$') { //其他字符判断
spc = 1;
} else {
return 0;
}
}
if (spc == 1 && (low + upp + dig) >= 2) { //条件检测
return 1;
}
return 0;
}
int main(){
string s;
string n[100];
cin>>s;
int j=0;
for(int i=0;i<s.size();i++){
if(s[i]!=','){
n[j]+=s[i]; //存入除','外的字符
}else{
j++;
}
}
for(int i=0;i<=j;i++){
if(check(n[i])==1){
cout<<n[i]<<endl;
}
}
return 0;
}
这里空空如也







有帮助,赞一个