返回列表 發帖
  1. #include<string>
  2. #include<cctype>
  3. #include<iostream>
  4. using namespace std;
  5. inline bool is_upper(string s)
  6. {
  7.      for(int i=0;i<s.size();i++)
  8.              if(isupper(s[i]))
  9.                 return true;

  10.      return false;
  11. }
  12. inline bool is_lower(string s)
  13. {

  14.      for(int i=0;i<s.size();i++)
  15.              if(islower(s[i]))
  16.                return true;
  17.      return false;
  18. }
  19. inline bool is_alpha(string s)
  20. {

  21.      for(int i=0;i<s.size();i++)
  22.              if(isalpha(s[i]))
  23.                return true;
  24.      return false;
  25. }
  26. inline bool is_not_alpha(string s)
  27. {

  28.      for(int i=0;i<s.size();i++)
  29.              if(!isalpha(s[i]))
  30.                return true;
  31.      return false;
  32. }
  33. int main()
  34. {
  35.     string s;
  36.     while(getline(cin,s))
  37.     {
  38.         int score=0,size=s.size();
  39.         if(size>=8)
  40.         score++;
  41.         if(is_alpha(s)&&is_not_alpha(s))
  42.             score++;
  43.         if(is_upper(s)&&is_lower(s))
  44.              score++;
  45.         cout<<"This password is ";
  46.         switch(score)
  47.         {
  48.         case 0:
  49.              cout<<"WEAK\n";
  50.              break;
  51.         case 1:
  52.              cout<<"ACCEPTABLE\n";
  53.              break;
  54.         case 2:
  55.              cout<<"GOOD\n";

  56.              break;
  57.         case 3:
  58.              cout<<"STRONG\n";
  59.              break;
  60.         }

  61.     }
  62.     return 0;
  63. }
複製代碼

TOP

返回列表