PAT (Basic Level) Practice 1081 檢查密碼 (15 分)
阿新 • • 發佈:2022-01-28
題目:1081 檢查密碼 (15 分)
來源:PAT (Basic Level) Practice
傳送門 1081 檢查密碼
題面
思路:分類討論,輸出即可
需要注意的是cin與getline不能混用,不然會出現一些bug。在使用getline函式之前要注意,輸入流中是否有可能會有換行符,如果有則使用cin.ignore或者getchar()清除。
Code
點選檢視程式碼
#include <cstdio> #include <cstring> #include <iostream> using namespace std; int main(){ int n; cin>>n; string s; getchar(); for(int t=1;t<=n;t++){ int j1=0,j2=0,f=0; getline(cin,s); if(s.size()<6)cout<<"Your password is tai duan le."<<"\n"; else { for(int i=0;i<s.size();i++){ if(!((s[i]>='0'&&s[i]<='9')||(tolower(s[i])>='a'&&tolower(s[i])<='z')||s[i]=='.')){ cout<<"Your password is tai luan le."<<"\n"; f = 1; break; } if(s[i]>='0'&&s[i]<='9')j1++; if(s[i]>='a'&&s[i]<='z')j2++; } if(!f){ if(j1==0)cout<<"Your password needs shu zi."<<"\n"; else if(j2==0)cout<<"Your password needs zi mu."<<"\n"; else cout<<"Your password is wan mei."<<"\n"; } } } return 0; }