1081 检查密码

比较坑,注意scanf或者cin 与 getline 之间必须 加一个 getchar();

坑点与 1078 字符串压缩与解压  一样。

flag1 表示是否存在数字,flag2表示是否存在字母,flag3是否存在非法字符。

 1 #include<iostream>
 2 #include<cctype>
 3 using namespace std;
 4 int main() {
 5     int n;
 6     cin>>n;
 7     getchar();//注意scanf或者cin 与 getline 之间必须 加一个 getchar();
 8     string str;
 9     while(n--) {
10         getline(cin,str);
11         if(str.size() < 6) cout<<"Your password is tai duan le."<<endl;
12         else {
13             bool flag1 = false,flag2 = false,flag3 = false;
14             for(int i = 0 ; i < str.size(); ++i) {
15                 if(isdigit(str[i])) flag1 = true;
16                 else if(isalpha(str[i])) flag2 = true;
17                 else if(str[i] == '.') ;
18                 else flag3 = true;
19             }    
20             if(flag3 == true) cout<<"Your password is tai luan le."<<endl;
21             else if(flag1 == true && flag2 == false) cout<<"Your password needs zi mu."<<endl;
22             else if(flag1 == false && flag2 == true) cout<<"Your password needs shu zi."<<endl;
23             else cout<<"Your password is wan mei."<<endl;
24         }
25     }
26     return 0;
27 }

1081 检查密码

 

上一篇:记hyper-v导致的privoxy error(fatal error: can't bind to 127.0.0.1:1081(error number:0)),附解决方法


下一篇:Linux大作业