#include <stdio.h>
#include <string.h>
int main()
{
int i,j,k,flag1,flag2,flag3,flag4,N;
char a[51];
while(scanf("%d",&N)!=EOF)
{
for(i=0;i<N;i++)
{
k=0;
flag1=0;flag2=0;
flag3=0;flag4=0;
scanf("%s",a);
if(strlen(a)<8||strlen(a)>16)
{
printf("NO\n");
continue;
}
for(j=0;a[j]!='\0';j++)
{
if(flag1==0)
{
if('a'<=a[j]&&a[j]<='z'){flag1=1; k++;}
}
if(flag2==0)
{
if('A'<=a[j]&&a[j]<='Z'){flag2=1;k++;}
}
if(flag3==0)
{
if('0'<=a[j]&&a[j]<='9'){flag3=1;k++;}
}
if(flag4==0)
{
switch(a[j])
{
case '~' :flag4=1;k++;break;
case '!' :flag4=1;k++;break;
case '@' :flag4=1;k++;break;
case '#' :flag4=1;k++;break;
case '$' :flag4=1;k++;break;
case '%' :flag4=1;k++;break;
case '^' :flag4=1;k++;break;
default : break;
}
}
}
if(k>=3)printf("YES\n");
else printf("NO\n");
}
}
return 0;
}
解题思路:
注意事项:
参考代码:
0.0分
0 人评分
A+B for Input-Output Practice (IV) (C语言代码)浏览:489 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:683 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:546 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:588 |
简单的a+b (C语言代码)浏览:630 |
【魔板】 (C++代码)浏览:1161 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:692 |
回文数(一) (C语言代码)浏览:1119 |
C二级辅导-计负均正 (C语言代码)浏览:643 |
简单的a+b (C语言代码)浏览:510 |