当前位置:   article > 正文

HJ87 密码强度等级(c++)_hj87 c++

hj87 c++

题目链接:密码强度等级_牛客题霸_牛客网

注意点:

这道题的坑比较多

1.大小写字符都包含的情况:lowletter && upletter,只要字母存在lowletter || upletter

2.判断小写:islower,判断大写isupper(); 判断数字isdigit();

3.奖励机制问题,注意题干要求只能选择一种以大优先,所以if的判断顺序只能从大到小

  1. #include<iostream>
  2. #include<string>
  3. using namespace std;
  4. int main(){
  5. string s;
  6. while(getline(cin, s)){
  7. int digit = 0;
  8. int upletter = 0;
  9. int lowletter = 0;
  10. int other = 0;
  11. int sum = 0;
  12. //密码长度
  13. int len = s.size();
  14. if(len <= 4) sum +=5;
  15. else if(len >= 5 && len <=7 ) sum+=10;
  16. else if(len >= 8) sum+=25;
  17. //统计字母,数字,符号个数
  18. for(int i = 0 ; i < s.size(); ++i){
  19. //小写字母
  20. if(islower(s[i])) lowletter++;
  21. //大写字母
  22. else if(isupper(s[i])) upletter++;
  23. //数字
  24. else if(isdigit(s[i])) digit++;
  25. //符号
  26. else other++;
  27. }
  28. //全是小(大)写字母,大小写混合字母
  29. if((lowletter > 0 && upletter == 0) || (upletter > 0 && lowletter == 0)){
  30. sum += 10;
  31. }
  32. //大小写字母混合
  33. else if (lowletter > 0 && upletter > 0 ) sum +=20;
  34. //数字
  35. if(digit == 1) sum += 10;
  36. else if(digit > 1) sum += 20;
  37. //符号
  38. if(other == 1) sum += 10;
  39. else if(other > 1) sum+= 25;
  40. //奖励
  41. //大小写字母,数字,符号
  42. if(lowletter > 0 && upletter > 0 && digit > 0 && other > 0) sum += 5;
  43. //字母,数字,符号
  44. else if((lowletter > 0 || upletter > 0) && (digit > 0) && (other > 0)) sum += 3;
  45. //字母和数字
  46. else if((lowletter > 0 || upletter > 0) && (digit > 0)) sum += 2;
  47. //评分
  48. if(sum >=90) cout<<"VERY_SECURE"<<endl;
  49. else if(sum >=80) cout<<"SECURE"<<endl;
  50. else if(sum>=70) cout<<"VERY_STRONG"<<endl;
  51. else if(sum >=60) cout<<"STRONG"<<endl;
  52. else if(sum >=50) cout<<"AVERAGE"<<endl;
  53. else if(sum>=25) cout<<"WEAK"<<endl;
  54. else cout<<"VERY_WEAK"<<endl;
  55. }
  56. return 0;
  57. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/914595
推荐阅读
相关标签
  

闽ICP备14008679号