zoukankan      html  css  js  c++  java
  • 安全密码

    题目描述

    密码:密码被盗,后果很严重。现在发现安全的密码至少应该满足下面两个条件:
    (1).密码长度大于等于8,且不要超过16。
    (2).密码中的字符应该来自下面“字符类别”中四组中的至少三组。
    这四个字符类别分别为:
    1.大写字母:A,B,C...Z
    2.小写字母:a,b,c...z
    3.数字:0,1,2...9;
    4.特殊符号:~,!,@,#,$,%,^
     给你一个密码,你的任务就是判断它是不是一个安全的密码。
     
    输入
    先输入一个密码个数N,接下来N行,每行输入一个密码。
     
    输出
    判断这N行的密码是否是安全密码,是安全密码就输出“YES”,否则输出“NO”。 请注意行尾输出换行。
     
    样例输入
    3
    a1b2c3d4
    Linle@ACM
    ^~^@^@!%
     
    样例输出
    NO
    YES
    NO
     1 #include <stdio.h>
     2 #include <string.h>
     3 int main()
     4 {
     5     int m,j,i=0,a,e,c,d,y,z;
     6     char s[1000],b[1000][4];
     7     scanf("%d",&m);
     8     for(i=0;i<m;i++)
     9     {
    10         scanf("%s",&s);
    11         y=strlen(s);
    12         a=0;e=0;c=0;d=0;z=0;
    13         for(j=0;j<y;j++)
    14         {
    15             if(s[j]>=65&&s[j]<=90) a++;
    16             else if(s[j]>=97&&s[j]<=122) e++;
    17             else if(s[j]>=48&&s[j]<=57) c++;
    18             else if(s[j]==126||s[j]==33||s[j]==64||s[j]==35||s[j]==36||s[j]==37||s[j]==94) d++;
    19         }
    20         if(a!=0) z++;
    21         if(e!=0) z++;
    22         if(c!=0) z++;
    23         if(d!=0) z++;
    24         if(z>=3 && y>=8 && y<=16)
    25         {b[i][0]='Y';b[i][1]='E';b[i][2]='S';b[i][3]='';}
    26         else
    27         {b[i][0]='N';b[i][1]='O';b[i][2]='';}
    28     }
    29      for(i=0;i<m;i++)
    30     {
    31         j=0;
    32         while(b[i][j]!='')
    33         {
    34             printf("%c",b[i][j]);
    35             j++;
    36         }
    37         printf("
    ");
    38     }
    39     return 0;
    40 }
  • 相关阅读:
    Good Bye 2015 D
    Good Bye 2015 C
    good bye 2015 B
    寒假训练第九场 Brocard Point of a Triangle
    HDU 3289 Cat VS Dog (二分匹配 求 最大独立集)
    HDU 1029 Ignatius and the Princess IV DP
    找钱问题
    POJ3260——背包DP(多重)——The Fewest Coins
    Charm Bracelet
    POJ1787——背包DP(特定状态+回溯)——Charlie's Change
  • 原文地址:https://www.cnblogs.com/zyxdjyd/p/10746022.html
Copyright © 2011-2022 走看看