1081 检查密码 - PAT (Basic Level) Practice (中文) (pintia.cn)
ps
isalnum() 函数检查给定字符是否为字母或数字。
注意,一定要用getlin(),不然会有一个测试点过不去,应该是一个测试点数据里面包含空格:
#include<iostream>
#include<cctype>
#include<cstring>
#include<string>
using namespace std;
int main()
{
int n=0;cin>>n;
getchar();
string s;
for(int i=0;i<n;i++)
{
cin>>s;
int len=s.size();
int invaild=0,isnum=0,isAlpha=0; //每一轮都要重置
for(int j=0;j<s.size();j++)
{
if(!isalnum(s[j])&&s[j]!='.')invaild=1;
if(isdigit(s[j]))isnum=1;
if(isalpha(s[j]))isAlpha=1;
}
if(len<6)printf("Your password is tai duan le.\n");
else if(invaild==1)printf("Your password is tai luan le.\n");
else if(isnum==0)printf("Your password needs shu zi.\n");
else if(isAlpha==0)printf("Your password needs zi mu.\n");
else printf("Your password is wan mei.\n");
}
return 0;
}