トピックリンク:https://pintia.cn/problem-sets/994805260223102976/problems/994805261217153024
タイトル説明は
このタイトルは小さな特徴の合法性を確認するためにパスワードを記述するために、サイトのユーザー登録モジュールを支援する必要があります。サイトには、以下6以上の文字で構成しなければならないパスワードを設定するユーザーを必要とし、唯一の文字、数字、小数点は、どちらの文字も数字を持っている必要がありますすることができます。
入力
N行続いてN整数正の最初の行(≤100)、所与の入力は、各行が終了を入力し、パスワードのユーザによる設定、文字のない80以上の非空の文字列が与えられます。
出力
行のフィードバック情報出力システム内の各ユーザーのパスワードについて、次の5つのポイント:
パスワードが正当なものである場合には、出力あなたのパスワードISはMEIをワン;。
。パスワードが短すぎると、正当かどうか、出力があなたのパスワードは太極拳ドゥアンルであり、
パスワードの長さ、正当な場合は、しかし、法的な文字がない、出力があなたのパスワードは太極拳ルアンありますル;
パスワード長正当が、唯一の文字数ではなく、あなたのパスワードはシュウのZIを必要とする出力の場合;
パスワード長正当が、唯一の数字でない文字場合は、出力があなたのパスワードはZIムーを必要とします。..
サンプル入力
5
123S
zheshi.wodepw
1234.5678
WanMei23333
パス* word.6
样例输出
パスワードは太極拳ドゥアンルです。
パスワードは集のZIを必要とします。
パスワードはZIムーを必要とします。
パスワードのISは、メイをワン。
パスワードは太極拳ルアンルです。
コード
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
int n, len;
cin >> n;
getchar();
for(int i = 0; i < n; i++) {
getline(cin, str);
len = str.size();
if(len < 6) {
cout << "Your password is tai duan le." << endl;
continue;
}
bool flag1 = false, flag2 = false, flag3 = false;
for(int j = 0; j < len; j++) {
char c = str[j];
if(c >= 'A' && c <= 'Z')
c = c - 'A' + 'a';
if(c >= '0' && c <= '9')
flag3 = true;
else if(c >= 'a' && c <= 'z')
flag2 = true;
else if (c == '.');
else
flag1 = true;
}
if(flag1) {
cout << "Your password is tai luan le." << endl;
}
else if(flag2 && !flag3)
cout <<"Your password needs shu zi." <<endl;
else if(flag3 && !flag2)
cout << "Your password needs zi mu." << endl;
else
cout << "Your password is wan mei." << endl;
}
return 0;
}