40分,找不出错!!!
查看原帖
40分,找不出错!!!
1443559
_kjy_楼主2025/6/27 22:59
#include<bits/stdc++.h>
using namespace std;
bool tj1(string x){
	for(int i=1;i<=x.size();i++){
		if(((x[i]<='9')&&(x[i]>='0'))||((x[i]>='A')&&(x[i]<='Z'))||((x[i]>='a')&&(x[i]<='z'))||x[i]=='!'||x[i]=='@'||x[i]=='#'||x[i]=='$'){
			continue;
		}else{
			return 0;
		}
	}
	return 1;
}
bool tj2(string x){
	if(x.size()>=6&&x.size()<=12)	return 1;
	else return 0;
}
bool tj3(string x){
	int f1=0,f2=0,f3=0,f4=0;
	for(int i=1;i<=x.size();i++){
		if(x[i]<='Z'&&x[i]>='A'){
			f1=1;
		}
		if(x[i]<='z'&&x[i]>='a'){
			f2=1;
		}
		if(x[i]<='9'&&x[i]>='0'){
			f3=1;
		}
		if(x[i]=='!'||x[i]=='@'||x[i]=='#'||x[i]=='$'){
			f4=1;
		}
	}
	if((f1+f2+f3)>= 2 && f4== 1) return 1;
	else return 0;
}
int main(){
	string s="";
	cin >> s;
	s=s+',';
	int x=0;
	while(1){
		int k=s.find(',',x);
		string m=s.substr(x,k-x);
		x=k+1;
		if(k==-1){
			break;
		}
		if(tj1(m)&&tj2(m)&&tj3(m)){
			cout<<m<<endl;
		}
	}
	return 0;
}
2025/6/27 22:59
加载中...