题解 | #密码强度等级#

密码强度等级

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

#include<stdio.h> int main() { char a[300]; gets(a); int i,j,n,sum[7]={0}; n=strlen(a); if(n<=4) sum[0]=5; else if(n>=5&&n<=7) sum[0]=10; else if(n>=8) sum[0]=25; for(i=0;i<n;i++) { if(a[i]>='a'&&a[i]<='z') sum[1]=10;
} for(i=0;i<n;i++) { if(a[i]>='A'&&a[i]<='Z') sum[2]=10;
} int m=0; for(i=0;i<n;i++) { if(a[i]>=0x21&&a[i]<=0x2F||a[i]>=0x3A&&a[i]<=0x40||a[i]>=0x5B&&a[i]<=0x60||a[i]>=0x7B&&a[i]<=0x7E) m++;
} if(m==0) sum[3]=0; else if(m==1) sum[3]=10; else if(m>1) sum[3]=25; int p=0; for(i=0;i<n;i++) { if(a[i]>='0'&&a[i]<='9') p++;
} if(p==0) sum[4]=0; else if(p==1) sum[4]=10; else if(p>1) sum[4]=20; if(sum[1]!=0&&sum[2]!=0&&sum[3]!=0&&sum[4]!=0) sum[5]=5; else if(sum[1]==0&&sum[2]!=0&&sum[3]!=0&&sum[4]!=0||sum[1]!=0&&sum[2]==0&&sum[3]!=0&&sum[4]!=0) sum[5]=3; else if(sum[1]==0&&sum[2]==0&&sum[3]!=0&&sum[4]!=0) sum[5]=2; for(i=0;i<6;i++) { sum[6]+=sum[i]; } if (sum[6]>=90) printf("VERY_SECURE"); else if (sum[6]>=80&&sum[6]<90) printf("SECURE"); else if (sum[6]>=70&&sum[6]<80) printf("VERY_STRONG"); else if (sum[6]>=60&&sum[6]<70) printf("STRONG"); else if (sum[6]>=50&&sum[6]<60) printf("AVERAGE"); else if (sum[6]>=25&&sum[6]<50) printf("WEAK"); else if (sum[6]>=0&&sum[6]<25) printf("VERY_WEAK"); return 0; }

全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务