2043 - 密码.cpp

来自「威士忌的HDU题解.大概有260多题的源码。对于学习非常有好处。」· C++ 代码 · 共 37 行

CPP
37
字号
#include <cstdio> 
using namespace std; 
bool flag[5]; 
int main() 
{ 
    int t,len,i,blen; 
    char pass[60]; 
    scanf("%d",&t); 
    while(t--) 
    { 
        scanf("%s",pass); 
        len=0;flag[1]=flag[2]=flag[3]=flag[4]=false; 
        while(pass[len]) 
        { 
            if(pass[len]>='A' && pass[len]<='Z') 
                flag[1]=true; 
            else if(pass[len]>='a' && pass[len]<='z') 
                flag[2]=true; 
            else if(pass[len]>='0' && pass[len]<='9') 
                flag[3]=true; 
            else if(pass[len]=='~' || pass[len]=='!' || pass[len]=='@' || pass[len]=='#' || pass[len]=='$' || pass[len]=='%' || pass[len]=='^')//~,!,@,#,$,%,^ 
                flag[4]=true; 
            len++; 
        } 
        blen=0; 
        for(i=1;i<=4;i++) 
            if(flag[i]) 
                blen++; 
        if(blen>=3 && len>=8 && len<=16) 
            printf("YES\n"); 
        else 
            printf("NO\n"); 
    } 
    return 0; 
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?