60分求调,没见得有啥错误啊
查看原帖
60分求调,没见得有啥错误啊
1379218
ade_4389楼主2025/6/27 15:03
#include<iostream>
using namespace std;
string s1="";

void check(string x){
	int cnt1=0,cnt2=0,cnt3=0,cnt4=0;
	if(x.size()<6||x.size()>12){
		return;
	}
	for(int i=0;i<x.size();i++){
		if(x[i]>='0'&&x[i]<='9'){
			cnt1++;
		} 
		else if(x[i]>='a'&&x[i]<='z'){
			cnt2++;
		}
		else if(x[i]>='A'&&x[i]<='Z'){
			cnt3++;
		}
		else if(x[i]=='!'||x[i]=='@'||x[i]=='#'||x[i]=='$'){
			cnt4++;
		}
		else 
			return;
		}
		if(cnt1+cnt2+cnt3<2||cnt4<1){
			return;
		}
		else
			cout<<x<<endl;
		cnt1=0;
		cnt2=0;
		cnt3=0;
		cnt4=0;
		x="";
		return;
}

int main(){
	string str;
	cin>>str;
	string s2="";
	str+=',';
	int sum=0;
	for(int i=0;i<=str.size()-1;i++){
		if(str[i]==','){
			sum++;
		}
	}
	for(int i=1;i<=sum;i++){
		for(int j=0;j<str.find(',');j++){
			s1+=str[j];
		}
		str=str.erase(0,str.find(',')+1);
		check(s1);
		s1=""; 
	}
}
2025/6/27 15:03
加载中...