本題要求你幫助某網站的用戶註冊模塊寫一個密碼合法性檢查的小功能。該網站要求用戶設置的密碼必須由很多於6個字符組成,而且只能有英文字母、數字和小數點".",還必須既有字母也有數字。ios
輸入格式: git
輸入第一行給出一個正整數 N(<=100),隨後 N 行,每行給出一個用戶設置的密碼,爲不超過80個字符的非空字符串,以回車結束。網站
輸出格式: lua
對每一個用戶的密碼,在一行中輸出系統反饋信息,分如下5種:spa
- 若是密碼合法,輸出「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.
讀入的字符可能用空格c最好用gets讀,c ++用getline,其餘的沒啥。
代碼:
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; int n; string s; void check(string t) { if(t.size() < 6) { cout<<"Your password is tai duan le."<<endl; return; } int num = 0,alp = 0; for(int i = 0;i < t.size();i ++) { if(isalpha(t[i]))alp ++; else if(isdigit(t[i]))num ++; else if(t[i] != '.') { cout<<"Your password is tai luan le."<<endl; return; } } if(!num)cout<<"Your password needs shu zi."<<endl; else if(!alp)cout<<"Your password needs zi mu."<<endl; else cout<<"Your password is wan mei."<<endl; } int main() { cin>>n; cin.get(); for(int i = 0;i < n;i ++) { getline(cin,s); check(s); } }