• HDU_2043——判断密码是否安全


    Problem Description
    网上流传一句话:"常在网上飘啊,哪能不挨刀啊~"。其实要想能安安心心地上网其实也不难,学点安全知识就可以。
    首先,我们就要设置一个安全的密码。那什么样的密码才叫安全的呢?一般来说一个比较安全的密码至少应该满足下面两个条件:
    (1).密码长度大于等于8,且不要超过16。 (2).密码中的字符应该来自下面“字符类别”中四组中的至少三组。
    这四个字符类别分别为: 1.大写字母:A,B,C...Z; 2.小写字母:a,b,c...z; 3.数字:0,1,2...9; 4.特殊符号:~,!,@,#,$,%,^;
    给你一个密码,你的任务就是判断它是不是一个安全的密码。
     
    Input
    输入数据第一行包含一个数M,接下有M行,每行一个密码(长度最大可能为50),密码仅包括上面的四类字符。
     
    Output
    对于每个测试实例,判断这个密码是不是一个安全的密码,是的话输出YES,否则输出NO。
     
    Sample Input
    3 a1b2c3d4 Linle@ACM ^~^@^@!%
     
    Sample Output
    NO YES NO
     1 #include <cstdio>
     2 #include <cstring>
     3 #include <cctype>
     4 int main()
     5 {
     6     int n, len, f1, f2, f3, f4;;
     7     char str[50];
     8     scanf("%d",&n);
     9     while(n--)
    10         {
    11             scanf("%s",str);
    12             len=strlen(str);
    13             f1=f2=f3=f4=0;
    14             if(len>=8 && len<=16)
    15                 {
    16                     for(int i=0;i<len;i++)
    17                         {
    18                             if(isupper(str[i]))
    19                                 {
    20                                     f1=1;
    21                                 }
    22                             else if(islower(str[i]))
    23                                 {
    24                                     f2=1;
    25                                 }
    26                             else if(isdigit(str[i]))
    27                                 {
    28                                     f3=1;    
    29                                 }
    30                             else
    31                                 {
    32                                     f4=1;    
    33                                 }
    34                         }
    35                     if((f1+f2+f3+f4)>=3)
    36                         {
    37                             printf("YES
    ");
    38                             continue;
    39                         }
    40                 }
    41             printf("NO
    ");
    42         }
    43     return 0;    
    44 }
    ——现在的努力是为了小时候吹过的牛B!!
  • 相关阅读:
    java学习(十六):对象的自定义比较,Comparator和Comparable
    Java学习(十五):hashCode的作用
    MySQL存储过程入门教程
    MySQL,SQLServer,Oracle数据库常用字段类型
    Java学习(十四):JDBC方式连接数据库举例
    JavaScript对时间的操作方法
    Java学习(十二):Java中的常用时间操作
    Java学习(十一):Java锁Synchronized,对象锁和类锁举例
    Python基础学习9 类
    Python基础学习8 函数
  • 原文地址:https://www.cnblogs.com/pingge/p/3182448.html
Copyright © 2020-2023  润新知