首页 > 代码库 > 杭电2043

杭电2043

 1 #include<stdio.h> 2 #include<string.h> 3 int main() 4 { 5     int m,c,i; 6     char s[51]; 7     while(scanf("%d",&m)!=EOF) 8     { 9         while(m--)10         {11             int t1=0,t2=0,t3=0,t4=0,sum=0;12             scanf("%s",&s);13             getchar();14             c=strlen(s);15             if(c<=50)16             {17             for(i=0;i<c;i++)18             {19                 if(s[i]>=A&&s[i]<=Z)20                 t1=1;21                 if(s[i]>=a&&s[i]<=z)22                 t2=1;23                  if(s[i]>=0&&s[i]<=9)24                 t3=1;25                 if(s[i]==126 ||s[i]==33 ||s[i]==64 ||s[i]==35 ||s[i]==36 ||s[i]==37 ||s[i]==94)26                 t4=1;27             }28             sum=t1+t2+t3+t4;29             if(sum>=3&&c>=8&&c<=16)30                 printf("YES\n");31             else32                 printf("NO\n");33             }34             else35                 break;36         }37 38     }39 40 }

注意最后记得判断密码的长度是不是在8和16之间,仔细

杭电2043