题解 | #密码验证合格程序#
密码验证合格程序
http://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841
#include <stdio.h>
int main()
{
char str[50] = {'0'};
start:
while((scanf("%s",&str)) != EOF)
{
int len = strlen(str);
if(len <= 8)
printf("NG\n");
else
{
int dp[4] = {0};
for(int i=0;i<len;i++)
{
if((str[i] >= 'a') && (str[i] <= 'z'))
{
dp[0] = 1;
}
else if((str[i] >= 'A') && (str[i] <= 'Z'))
{
dp[1] = 1;
}
else if((str[i] >= '0') && (str[i] <= '9'))
{
dp[2] = 1;
}
else
{
dp[3] = 1;
}
}
if(dp[0]+dp[1]+dp[2]+dp[3] < 3)
{
printf("NG\n");
}
else
{
for(int i=0;i<len-2;i++)
{
for(int j=i+3;j<len-2;j++)
{
if((str[i] == str[j]) && (str[i+1] == str[j+1]) && (str[i+2] == str[j+2]))
{
printf("NG\n");
goto start;
}
}
}
printf("OK\n");
}
}
}
return 0;
}

