题解 | 密码强度等级

密码强度等级

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

#include<bits/stdc++.h>
using namespace std;
int main(){
 string s;cin>>s;
 int score=0;
 int len=s.size();
 if(len<=4)score+=5;else if(len<=7)score+=10;else score+=25;//判断长度
 int da=0,xiao=0,num_shu=0,num_fu=0;
//分别表示大写、小写、数字、符号的个数
 for(int i=0;i<len;i++)
 if(s[i]>='a'&&s[i]<='z')xiao++;
 else if(s[i]>='A'&&s[i]<='Z')da++;
 else if(s[i]>='0'&&s[i]<='9')num_shu++;
 else num_fu++;

if(xiao&&da)score+=20;else if(xiao||da)score+=10;//字母加分
if(num_shu>1)score+=20;else if(num_shu)score+=10;//数字加分
if(num_fu>1)score+=25;else if(num_fu)score+=10;//符号加分

if(da&&xiao&&num_shu&&num_fu)score+=5;
else if((da||xiao)&&num_shu&&num_fu)score+=3;
else if((da||xiao)&&num_shu)score+=2;
//奖励加分
  
if(score>=90)cout<<"VERY_SECURE";
else if(score>=80)cout<<"SECURE";
else if(score>=70)cout<<"VERY_STRONG";
else if(score>=60)cout<<"STRONG";
else if(score>=50)cout<<"AVERAGE";
else if(score>=25)cout<<"WEAK";
else cout<<"VERY_WEAK";

return 0;
}

全部评论

相关推荐

04-13 20:21
门头沟学院 Java
点赞 评论 收藏
分享
04-01 12:25
中南大学 Java
枯基Evan_:腾讯一面写过11次的题目没写出来
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务