PTA 檢查密碼 (15分)

0k-ok發表於2020-11-02

“人其實就這一輩子,我想要的生活不是安逸的,雖然很累,但我想要輝煌的人生,所以也一直在為此努力、不鬆懈。我所理解的輝煌人生,不是掙了多少錢、做了多偉大的事,而是將人生過得有意義,不碌碌無為。哪怕前進得很慢,但是每分每秒都在往前走,去追求夢想。”                                                                                                                       ----喻言

本題要求你幫助某網站的使用者註冊模組寫一個密碼合法性檢查的小功能。該網站要求使用者設定的密碼必須由不少於6個字元組成,並且只能有英文字母、數字和小數點 .,還必須既有字母也有數字。

輸入格式:

輸入第一行給出一個正整數 N(≤ 100),隨後 N 行,每行給出一個使用者設定的密碼,為不超過 80 個字元的非空字串,以回車結束。

輸出格式:

對每個使用者的密碼,在一行中輸出系統反饋資訊,分以下5種:

  • 如果密碼合法,輸出Your password is wan mei.
  • 如果密碼太短,不論合法與否,都輸出Your password is tai duan le.
  • 如果密碼長度合法,但存在不合法字元,則輸出Your password is tai luan le.
  • 如果密碼長度合法,但只有字母沒有數字,則輸出Your password needs shu zi.
  • 如果密碼長度合法,但只有數字沒有字母,則輸出Your password needs zi mu.

輸入樣例:

5
123s
zheshi.wodepw
1234.5678
WanMei23333
pass*word.6

輸出樣例:

Your password is tai duan le.
Your password needs shu zi.
Your password needs zi mu.
Your password is wan mei.
Your password is tai luan le.
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <vector>
#include <ctime>
#include <cctype>
#include <bitset>
#include <utility>
#include <sstream>
#include <complex>
#include <iomanip>
#include <numeric>
#include<unordered_set>
#include <climits>//INT_100010n
//#include<bits/stdc++.h>
#define PP pair<ll,int>
#define inf 0x3f3f3f3f
#define INF 0x7fffffff;
#define llinf 0x3f3f3f3f3f3f3f3fll
#define dinf 1000000000000.0
#define PI 3.1415926
#define LL unsigned int
#define mod 1000000007
#define wc 1e-18
typedef long long ll;
using namespace std;
int N;
string s;
int main(){
    cin>>N;
    getchar();
    while(N--){
        getline(cin,s);
        int cd=s.size();
        if(cd<6)
            cout<<"Your password is tai duan le."<<endl;
        else{
            int fg=0,sz=0,zm=0;
            for(int i=0;i<cd;i++){
                if(s[i]>='0'&&s[i]<='9')
                    sz++;
                else if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z'))
                    zm++;
                else if(s[i]=='.')
                    continue;
                else
                    fg=1;
            }
            if(fg==1)
                cout<<"Your password is tai luan le."<<endl;
            else if(zm>0&&sz==0)
                cout<<"Your password needs shu zi."<<endl;
            else if(sz>0&&zm==0)
                cout<<"Your password needs zi mu."<<endl;
            else
                cout<<"Your password is wan mei."<<endl;
        }
    }
    return 0;
}

 

相關文章