查看原题目请点我这里
解题思路
这是道简单的字符串处理的题,需要注意的是要用gets接收一行字符。
代码
#include<cstdio>
#include<cstring>
int check(char s[],int m){
int num=0,alph=0;
for(int i=0;i<m;i++){
if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')){
alph=1;
}else if(s[i]>='0'&&s[i]<='9'){
num=1;
}else if(s[i]=='.'){
}else return 1;
}
if(alph==1&&num==1) return 0;
else if(alph==0&&num==1) return 3;
else if(alph==1&&num==0) return 2;
}
int main(){
char str[100];
int n;
scanf("%d",&n);
getchar();
while(n--){
gets(str);
int len=strlen(str);
if(len<6){
printf("Your password is ***an le.\n");
}else if(check(str,len)==0){
printf("Your password is wan mei.\n");
}else if(check(str,len)==1){
printf("Your password is tai luan le.\n");
}else if(check(str,len)==2){
printf("Your password needs shu zi.\n");
}else if(check(str,len)==3){
printf("Your password needs zi mu.\n");
}
}
return 0;
}