xiaolvsi_ @ 2024-12-15 09:45:11
#include<iostream>
#include<string>
using namespace std;
string str[100005];
int main()
{
char a;
bool b=1;
int i=0,c=0,da=0,xiao=0,shu=0,te=0,zong=0;
while ((a=getchar())!='\n')
{
if (a==',')
{
if (da!=0)
{
zong++;
}
if (xiao!=0)
{
zong++;
}
if (shu!=0)
{
zong++;
}
if (b&&c<=12&&c>=6&&te>=1&&zong>=2)
{
cout<<str[i]<<endl;
}
c=0;
da=0;
xiao=0;
shu=0;
te=0;
zong++;
i++;
b=1;
}
else if (b&&(a>='a'&&a<='z')||(a>='A'&&a<='Z')||(a>='0'&&a<='9')||a=='!'||a=='@'||a=='#'||a=='$')
{
c++;
str[i]+=a;
if (a>='a'&&a<='z')
{
xiao++;
}
if (a>='A'&&a<='Z')
{
da++;
}
if (a>='0'&&a<='9')
{
shu++;
}
if (a=='!'||a=='@'||a=='#'||a=='$')
{
te++;
}
}
else
{
c++;
b=0;
}
}
return 0;
}
by gaohuashengtx @ 2024-12-15 20:51:07
#include<bits/stdc++.h>
using namespace std;
string s,t;
int main() {
cin>>s;s=s+",";
for(int i=0;i<s.size();i++){
if(s[i]==','){
if(t.size()<6||t.size()>12){t="";continue;}//判断位数
int a=0,b=0,c=0,d=0,f1=0;//a代表小写字母 b代表大写字母 c代表数字 d代表特殊字符 f1代表是否都不满足以上条件
for(int j=0;j<t.size();j++){
if(t[j]>='a'&&t[j]<='z')a++;//判断小写字母
else if(t[j]>='A'&&t[j]<='Z')b++;//判断大写字母
else if(t[j]>='0'&&t[j]<='9')c++;//判断数字
else if(t[j]=='!'||t[j]=='@'||t[j]=='#'||t[j]=='$')d++;//判断特殊字符
else {f1=1;break;}
}
if(((a>0)+(b>0)+(c>0))>=2&&d>0&&!f1){cout<<t<<endl;}//判断满足条件的个数
t="";
}
else t+=s[i];
}
return 0;
}
这样写省时间@xiaolvsi_