天天看點

檢查密碼 (15 分)

E 檢查密碼 (15 分)

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

輸入格式:

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

注意: 題目保證不存在隻有小數點的輸入。

#include<stdio.h>
#include<iostream>
#include<cstring>
using namespace std;
int youshuzi,youzimu,youdian,youffzf;
int main(){
    int n;
    cin>>n;
    getchar();//接收回車
    for(int i= 0;i<n;i++){
        string a;
        getline(cin,a);//測試點二有空格
        int len=a.length();
        if(len<6){
            cout<<"Your password is tai duan le."<<endl;
            }else {
            for(int j=0;j<len;j++){
                if(a[j]>='a'&&a[j]<='z'||a[j]>='A'&&a[j]<='Z'){
                    youzimu++;
                }else if(a[j]>='0'&&a[j]<='9'){
                    youshuzi++;
                }else if(a[j]=='.'){
                    youdian++;
                }else{
                    youffzf++;
                }
            }
        }
        if(youzimu&&youshuzi==0&&len>=6){
            cout<<"Your password needs shu zi."<<endl;
        }else if(youshuzi&&youzimu==0&&len>=6){
            cout<<"Your password needs zi mu."<<endl;
        }else if(youffzf&&len>=6){
            cout<<"Your password is tai luan le."<<endl;
        }
        else if(youshuzi&&youzimu&&len>=6){
            cout<<"Your password is wan mei."<<endl;
        }
        youshuzi=0;
        youzimu=0;
        youdian=0;
        youffzf=0;
    }
    return 0;
}