读书人

杭电ACm密码有关问题-求指导提交的时侯

发布时间: 2013-03-27 11:22:42 作者: rapoo

杭电ACm密码问题--------求指导提交的时侯前面的这个没有AC

#include <iostream>using namespace std;int main(){    int n;    string str;    cin>>n;    while (n--)    {        int j=0,k=0,l=0,m=0,sum=0;        unsigned int i;        cin>>str;        if(str.length()>=8&&str.length()<=16)        {            for( i=0;i<str.length();i++)            {                if(str[i]>='0'&&str[i]<='9')                j=1;                else if(str[i]>='A'&&str[i]<='Z')                k=1;                else if(str[i]>='a'&&str[i]<='z')                l=1;                else if(str[i]=='~'||str[i]=='@'||str[i]=='$'||str[i]=='%'||str[i]=='^')                m=1;                else                {                    j=0;k=0;l=0;m=0;                }                sum=j+k+l+m;            }            if(sum>=3)            cout<<"YES"<<endl;            else            cout<<"NO"<<endl;        }        else        cout<<"NO"<<endl;    }    return 0;}

#include<stdio.h>#include<string.h>int main(){ int M,i,t,a,b,c,d,sum; char s[60]; while(scanf("%d",&M)!=EOF) {  while(M--)  {   scanf("%s",s);   t=strlen(s);   if(t<8||t>16)   {    printf("NO\n");    continue;   }   a=b=c=d=sum=0;   for(i=0;s[i]!='\0';i++)   {    if(s[i]>='A'&&s[i]<='Z')a=1;    else if(s[i]>='a'&&s[i]<='z')b=1;    else if(s[i]>='0'&&s[i]<='9')c=1;    else if(s[i]=='~'||s[i]=='!'||s[i]=='@'||s[i]=='#'||s[i]=='$'||s[i]=='%'||s[i]=='^')d=1;   }   sum=a+b+c+d;   if(sum>=3)    printf("YES\n");   else    printf("NO\n");  } } return 0;}

 

读书人网 >编程

热点推荐