为什么这个是Wrong Answer
题目,代码,上交时界面在下面
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,a,b,c,d;
int i=1;
char x=0;
n=0;
scanf("%d",&n);
getchar();
while(n--){
a=0,b=0,c=0,d=0;
for(i=1;i<=50;i++){
x=0;
scanf("%c",&x);
if(x>='0' && x<='9')
{
a=1;
}
else if(x>='a' && x<='z' )
{
b=1;
}
else if(x>='A' && x<='Z' )
{
c=1;
}
else if(x=='~' || x=='!' || x=='@' || x=='#' || x=='$'|| x=='%' || x=='^')
{
d=1;
}
else
{
break;
}
}
if(i>=8 && i<=16 && a+b+c+d>=3)
{
printf("YES\n");
}
else
{
printf("NO\n");
}
}
return 0;
}