写了16遍才AC的题解
2026-01-31 13:48:52
发布于:浙江
3阅读
0回复
0点赞
来看看吧
#include<bits/stdc++.h>
using namespace std;
int k[8];
int main(){
string a;cin>>a;int t=0;bool m=1;
for(int i=0;i<a.size();i++){
if(a[i]==','){
if(m){
int s=t;
while(a[s]!=','){s++;}
if((s-t>=6 and s-t<=12)and k[0]+k[1]+k[2]>=2 and k[3]+k[4]+k[5]+k[6]>=1){
int s=t;
while(a[s]!=','){cout<<a[s];s++;}
cout<<endl;
}
}
t=i+1;m=1;
for(int p=0;p<=6;p++){k[p]=0;}
}
else{
if(((a[i]>='A' and a[i]<='Z')||(a[i]>='a' and a[i]<='z')||(a[i]>='0' and a[i]<='9')||a[i]=='!'||a[i]=='@'||a[i]=='#'||a[i]=='$')){
if(a[i]>='A' and a[i]<='Z'){
k[0]=1;//大写判断
}else if(a[i]>='a' and a[i]<='z'){
k[1]=1;//小写判断
}else if(a[i]>='0' and a[i]<='9'){
k[2]=1;//数字判断
}else if(a[i]=='!'){
k[3]=1;//!
}else if(a[i]=='@'){
k[4]=1;//@
}else if(a[i]=='#'){
k[5]=1;//#
}else if(a[i]=='$'){
k[6]=1;//$
}
}else{
m=0;
}
}
}
if(m){
int s=a.size();
if((s-t>=6 and s-t<=12)and k[0]+k[1]+k[2]>=2 and k[3]+k[4]+k[5]+k[6]>=1){
int s=t;
while(s!=a.size()){cout<<a[s];s++;}
}
}
return 0;
}

全部评论 1
沙发
昨天 来自 广东
0




有帮助,赞一个