解题思路:

注意事项:

参考代码:

#include<stdio.h>

#include<string.h>

#define H 50

void changdu(char (*m)[H],int len[],int n)

int i;

for(i=0;i<n;i++)

len[i]=strlen(*(m+i));

}

void panduan(int n,char (*m)[H],int len[])

int y,lei[4]={0};

int re[H]={0};

for(y=0;y<n;y++)

if((len[y]>=8)&&(len[y]<16))

re[y]=1;


int d,f,g,j,u,q,w,e,r,t,b,v;

for(u=0;u<n;u++)

for(d='a';d<='z';d++)

if(strchr(*(m+u),d))

{

lei[0]=1;

break;

}

for(f='A';f<='Z';f++)

if(strchr(*(m+u),f))

{

  lei[1]=1;

  break;

}

for(g='0';g<='9';g++)

if(strchr(*(m+u),g))

lei[2]=1;

break;

}

for(q=0;q<len[u];q++)

if(m[u][q]=='~')

{

lei[3]=1;

break;

}

for(w=0;w<len[u];w++)

if(m[u][w]=='!')

lei[3]=1;

break;

}

for(e=0;e<len[u];e++)

if(m[u][e]=='@')

lei[3]=1;

break;

}

for(r=0;r<len[u];r++)

if(m[u][r]=='#')

lei[3]=1;

break;

}

for(t=0;t<len[u];t++)

if(m[u][t]=='$')

lei[3]=1;

break;

}

for(b=0;b<len[u];b++)

if(m[u][b]=='%')

lei[3]=1;

break;

}

for(v=0;v<len[u];v++)

if(m[u][q]=='^')

lei[3]=1;

break;

}


int k=0;

for(j=0;j<4;j++)

{

if(lei[j]!=0)

k++;

}

if(re[u]==0)

printf("NO\n");

else if(k>=3)

printf("YES\n");

else 

printf("NO\n");

int l;

for(l=0;l<4;l++)

lei[l]=0;

}

}

int  main()

int n,i,len[H]={0};

char m[H][H]={"0"};

scanf("%d",&n);

for(i=0;i<n;i++)

scanf("%s",m[i]);

changdu(m,len,n);

panduan(n,m,len);

return 0;

}


 

0.0分

0 人评分

  评论区

  • «
  • »