• 密码


    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 <stdio.h>
     2 #include <string.h>
     3 #include <ctype.h>
     4 
     5 int main(){
     6     int n;
     7     char s[51];
     8     int length;
     9     int i;
    10     
    11     int flag;
    12     int flag1;
    13     int flag2;
    14     int flag3;
    15     int flag4;
    16     
    17     scanf("%d",&n);
    18     
    19     while(n--){
    20         scanf("%s",s);
    21         length=strlen(s);
    22         
    23         flag=0;
    24         flag1=0;
    25         flag2=0;
    26         flag3=0;
    27         flag4=0;
    28         
    29         if(length>=8 && length<=16)
    30             flag=1;
    31             
    32         for(i=0;i<length;i++){
    33             if(islower(s[i])!=0)
    34                 flag1=1;
    35                 
    36             else if(isupper(s[i])!=0)
    37                 flag2=1;
    38                 
    39             else if(isdigit(s[i])!=0)
    40                 flag3=1;
    41                 
    42             else if(s[i]=='~' || s[i]=='!' || s[i]=='@' || s[i]=='#' || s[i]=='$' || s[i]=='%' || s[i]=='^')
    43                 flag4=1;
    44         }
    45         
    46         if(flag==1 && (flag1+flag2+flag3+flag4)>=3)
    47             printf("YES
    ");
    48             
    49         else
    50             printf("NO
    ");
    51                 
    52     }        
    53     return 0;
    54 }
  • 相关阅读:
    PHP Document 注释标记及规范 && PHP命名规范
    JavaScript 最佳实践
    PHP正则表达式详解(三)
    $_SERVER["SCRIPT_NAME"]、$_SERVER["PHP_SELF"]、$_SERVER["QUERY_STRING"]、$_SERVER["REQUEST_URI"]
    PHP判断远程文件是否存在
    HDOJ1251-统计难题(trie树入门)
    Spark的日志配置
    实现Android 动态载入APK(Fragment or Activity实现)
    OC与JS互相调用
    mac os使用lsusb命令和连接未知的Android设备
  • 原文地址:https://www.cnblogs.com/zqxLonely/p/4054051.html
Copyright © 2020-2023  润新知