michaelwanghaoyu @ 2024-10-14 21:04:00
#include <iostream>
using namespace std;
string s;
int main()
{
cin>>s;
string t="";
for(int i=0;i<s.length();i++)
{
if (s[i]!=',')
{
t += s[i];
}
else
{
bool pd=1;
int xx=0,dx=0,sz=0,tsfh=0;
for(int j=0;j<t.length();j++)
{
if(t[j]>='a'&&t[j]<='z')
{
xx=1;
}
else if(t[j]>='A'&&t[j]<='Z')
{
dx=1;
}
else if(t[j]>='0'&&t[j]<='9')
{
sz=1;
}
else if (t[j]=='!'||t[j]=='@'||t[j]=='#'||t[j]=='$')
{
tsfh=1;
}
else
{
pd=0;
break;
}
}
if(pd&&xx+dx+sz>=2&&tsfh>=1)
{
cout<<t<<endl;
}
t="";
}
}
return 0;
}
by _th_tw_on_ @ 2024-10-14 21:08:27
没判长度
by _th_tw_on_ @ 2024-10-14 21:08:56
@michaelwanghaoyu
by Zhangjianing123456 @ 2024-10-14 21:10:02
密码最短长度 :6 个字符,密码最大长度 : 12个字符。
by Zhangjianing123456 @ 2024-10-14 21:24:31
if(pd&&xx+dx+sz>=2&&tsfh>=1)
改为if(pd&&xx+dx+sz>=2&&tsfh>=1&&a+b+c+d>=6&&a+b+c+d<=12)
a为小写字母的长度
b为大写字母的长度
c为数字的长度
d为特殊字符的长度
by IAKIOI14141 @ 2024-10-25 17:01:51
@Zhangjianing123456 为什么要这样写?直接判断t的长度,打个条件不就行了吗?你这样多此一举,容易挂。
if(pd&&xx+dx+sz>=2&&tsfh>=1&&t.length()<=12&&t.length()>=6)