tu_huang_di @ 2024-07-15 14:50:54
#include<iostream>
using namespace std;
char a,c[100];
bool shu,dz,xz,fu;
int cnt;
int main()
{
for(int k=1;;k++)
{
shu=dz=xz=fu=0;
cnt=0;
for(int g=1;;g++)
{
cin>>a;
c[g]=a;
if(a==','||a=='\n')
break;
cnt++;
if(a<='z'&&a>='a')xz=1;
if(a<='Z'&&a>='A')dz=1;
if(a<='9'&&a>='0')shu=1;
if(a=='!'||a=='@'||a=='#'||a=='$')fu=1;
}
if((xz==1&&dz==1&&fu==1&&(cnt<=12&&cnt>=6))||(xz==1&&shu==1&&fu==1&&(cnt<=12&&cnt>=6))||(dz==1&&shu==1&&fu==1&&(cnt<=12&&cnt>=6)))
{
for(int i=1;i<=cnt;i++)
{
cout<<c[i];
c[i]=0;
}
cout<<endl;
}
if(a=='\n')
break;
}
return 0;
}
by ybx2023saier @ 2024-07-15 16:16:47
然后好像没了
本AC代码:
#include<iostream>
using namespace std;
char s[101];
char str[101];//存需判断的一段字符串
bool check(char *s,int len)//判断
{
if(len<6||len>12)
return false;//判断长度
bool dx=false,xx=false,sz=false,zf=false;//dx:大写;xx:小写;sz:数字;zf:特殊字符
for(int i=0;s[i]!='\0';i++)
{
if('A'<=s[i]&&s[i]<='Z') dx=true;
else if('a'<=s[i]&&s[i]<='z') xx=true;
else if('0'<=s[i]&&s[i]<='9') sz=true;
else if(s[i]=='!'||s[i] == '@'||s[i]=='#'||s[i]=='$') zf=true;
else return false; //如果有特殊字符的字符以外的字符,判为不合法
}
if(!zf) return false;
if(dx+xx+sz<2) return false;//至少要有两个
return true;
}
int main()
{
cin>>s;
int len=0;
for(int i=0;s[i]!='\0';i++)
{
if(s[i]!=',')
{
str[len]=s[i];
len++;
}
else
{
str[len]='\0';
if(check(str,len))//判断
cout<<str<<endl;
len=0;//归置
}
}
if(len>0)//对最后一段字符串进行判断
{
str[len]='\0';
if(check(str,len))
cout<<str<<endl;
}
return 0;
}
by ybx2023saier @ 2024-07-15 16:17:40
@tu_huang_di
by tu_huang_di @ 2024-07-17 20:20:25
@ybx2023saier 谢谢,以AC