题解 | #密码强度等级#

密码强度等级

https://www.nowcoder.com/practice/52d382c2a7164767bca2064c1c9d5361

#include<stdio.h>
#include<string.h>
int main(void)
{
    char str[301];
    scanf("%s",&str);
    int score=0;
    int len=strlen(str);
    if(len<=4)
    {
        score+=5;
    }
    else if(len>=5&&len<=7)
    {
        score+=10;
    }
    else if(len>=8)
    {
        score+=25;
    }
    int flag1=0;
    int flag2=0;
    int flag3=0;
    int flag4=0;
    for(int i=0;i<len;i++)
    {
        if(str[i]>='a'&&str[i]<='z')
        {
            flag1++;
        }
        if(str[i]>='A'&&str[i]<='Z')
        {
            flag2++;
        }
        if(str[i]>='0'&&str[i]<='9')
        {
            flag3++;
        }
        if (((str[i] >= 0x21) && (str[i] <= 0x2F)) || ((str[i] >= 0x3A) && (str[i] <= 0x40)) || ((str[i] >= 0x5B) && (str[i] <= 0x60)) || ((str[i] >= 0x7B) && (str[i] <= 0x7E)))
        {
            flag4++;
        }
    }
    if((flag1==0&&flag2!=0)||(flag1!=0&&flag2==0))
    {
        score+=10;
    }
    else if(flag1!=0&&flag2!=0)
    {
        score+=20;
    }
    if(flag3==1)
    {
        score+=10;
    }
    else if(flag3>1)
    {
        score+=20;
    }
    if(flag4==1)
    {
        score+=10;
    }
    else if(flag4>1)
    {
        score+=25;
    }
    if(flag1!=0&&flag2!=0&&flag3!=0&&flag4!=0)
    {
        score+=5;
    }
    else if(flag4!=0&&flag3!=0&&(flag1==0&&flag2!=0)||(flag1!=0&&flag2==0))
    {
        score+=3;
    }
    else if(flag4==0&&!(flag1==0&&flag2==0)&&flag3!=0)
    {
        score+=2;
    }
    char S[50];
    if(score>=90)
    {
        strcpy(S,"VERY_SECURE");
    }
    else if(score>=80&&score<90)
    {
        strcpy(S,"SECURE");
    }
    else if(score>=70&&score<80)
    {
        strcpy(S,"VERY_STRONG");
    }
    else if(score>=60&&score<70)
    {
        strcpy(S,"STRONG");
    }
    else if(score>=50&&score<60)
    {
        strcpy(S,"AVERAGE");
    }
    else if(score>=25&&score<50)
    {
        strcpy(S,"WEAK");
    }
    else if(score>=0&&score<25)
    {
        strcpy(S,"VERY_WEAK");
    }
    printf("%s",S);
    return 0;
}
全部评论

相关推荐

AI牛可乐:哇,听起来你遇到了什么挑战呢!🐮牛可乐在这里,虽然小,但是勇敢又聪明,想听听你的具体情况哦!如果你愿意的话,可以点击我的头像给我私信,我们可以一起想办法应对挑战,好不好呀?🌟🎉
点赞 评论 收藏
分享
死在JAVA的王小美:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,我也是,让我免了一轮,但是硬气拒绝了
点赞 评论 收藏
分享
如题如果提出了一个薪资,A不成功,会有可能被取消offer吗
爱打瞌睡的柯基:最想去你们公司 但是别家开的高一些,希望能申请高一点 不管结果如何都谢谢你
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务