• HDU 2043


    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2043

    代码如下:

     1 #include <cstdio>
     2 #include <cstring>
     3 using namespace std;
     4 
     5 int main()
     6 {
     7     int a[4];
     8     char s[51];
     9     int t, flag;
    10     while(scanf("%d", &t) != EOF)
    11     {
    12          for(int i = 0; i < t; i++)
    13          {
    14                  memset(a, 0, sizeof(a));
    15                  scanf("%s", s);
    16                  int len = strlen(s);
    17                  flag = 0;
    18                  if(len < 8 || len > 16)
    19                  {
    20                         flag = 1;       
    21                  }
    22                  for(int j = 0; j < len; j++)
    23                  {
    24                         if('a' <= s[j] && s[j] <= 'z')
    25                         {
    26                                if(!a[0])
    27                                {
    28                                      a[0] = 1;         
    29                                }       
    30                         }        
    31                         else if('A' <= s[j] && s[j] <= 'Z')
    32                         {
    33                                if(!a[1])
    34                                {
    35                                        a[1] = 1;         
    36                                }     
    37                         }
    38                         else if('0' <= s[j] && s[j] <= '9')
    39                         {
    40                                if(!a[2])
    41                                {
    42                                         a[2] = 1;         
    43                                }     
    44                         }
    45                         else
    46                         {
    47                                switch(s[j])
    48                                {
    49                                     case '^':
    50                                     case '~':
    51                                     case '@':
    52                                     case '!':
    53                                     case '%':
    54                                     case '$':
    55                                     case '#':
    56                                          a[3] = 1;
    57                                          break;
    58                                     default: flag = 1;            
    59                                }    
    60                         }
    61                  }  
    62                  int sum = 0;
    63                  for(int i = 0; i < 4; i++)
    64                  {
    65                          sum += a[i];               
    66                  } 
    67                  if(flag)
    68                  {
    69                          printf("NO\n");       
    70                  }
    71                  else if(sum >= 3)
    72                  {
    73                         printf("YES\n");       
    74                  }     
    75                  else
    76                  {
    77                         printf("NO\n");    
    78                  }
    79          }                   
    80     }
    81     return 0;    
    82 }
  • 相关阅读:
    conda使用
    onedrive共享文件的下载
    生物信息软件安装(不定时更新)
    if 的常见问题解析
    C语言常见的误区
    流程控制
    C语言中的运算符
    scanf的具体用法
    代码的规范
    printf中的x%及用法
  • 原文地址:https://www.cnblogs.com/10jschen/p/2645814.html
Copyright © 2020-2023  润新知