hdoj-2043-密码

 1 #include<stdio.h>
 2 #include<string.h>
 3 int main()
 4 {
 5         int n,i;
 6         scanf("%d",&n);
 7         getchar();
 8         while(n--)
 9         {
10             int b[4]={0,0,0,0};//保存判定结果
11             char a[60];
12             gets(a);
13             int len=strlen(a);
14             if(len>=8&&len<16)
15             {
16                 for(i=0;i<len;i++)
17                 {
18                     if(a[i]>='A'&&a[i]<='Z')//对大写字母进行判定
19                     b[0]=1;
20                     if(a[i]>='a'&&a[i]<='z')//对小写字母进行判定
21                     b[1]=1;
22                     if(a[i]>='0'&&a[i]<='9')//对数字进行判定
23                     b[2]=1;
24                     switch(a[i])//对特殊字符进行判定
25                     {
26                         case '~':
27                         case '!':
28                         case '@':
29                         case '#':
30                         case '$':
31                         case '%':
32                         case '^': b[3]=1;
33                     }
34                 }
35                 int num=0;
36                 for(i=0;i<4;i++)
37                     if(b[i])
38                         num++;
39                 //printf("   %d\n",num);
40                 if(num>=3)
41                 printf("YES\n");
42                 else
43                 printf("NO\n");
44             }
45             else
46             printf("NO\n");
47 
48         }
49         return 0;
50 }

 

posted @ 2013-06-11 09:13  nylg-haozi  阅读(130)  评论(0)    收藏  举报