1. 程式人生 > 其它 >PAT (Basic Level) Practice 1081 檢查密碼 (15 分)

PAT (Basic Level) Practice 1081 檢查密碼 (15 分)

題目: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;
}