1006;IP判断

1006:IP判断


Description


在基于Internet的程序中,我们常常需要判断一个IP字符串的合法性。

合法的IP是这样的形式:

A.B.C.D

其中A,B,C,D均位于【0,255】中的整数。为了简单起见,我们规定这四个整数中不允许有 前导0存在,如001这种情况。

现在,请你来完成这个判断程序吧。


Input


输入由多行组成,每行是一个字符串,输入由“end of file”结束。

字符串长度最大为30,且不含空格和不可见字符。


Output


对于每一个输入,单独输出=一行。

如果该字符串合法的IP,输出Y,否则,输出N。


Sample Input


 1.2.3.4

a.b.c.d

267.43.64.12

12.34.56.bb

210.43.64.129

-123.4.5.6


Sample Output


Y

N

N

N

Y

N


#include
#include
#include
using namespace std;
int main()
{
    char ip[1000];
    int a,b,c,i,j,k,num[5];
    while(scanf("%s",ip)!=EOF)
    {
        a=strlen(ip);
        b=1;
        c=0;
        memset(num,0,sizeof(num));
        for(i=0,j=1,k=1;i='0'&&ip[i]<='9')
        {
            num[j]=num[j]*10+ip[i]-'0';
            k++;
        }
        else
        {
            b=0;
            break;
        }
        }
        }
    if(c!=3)
        b=0;
    for(i=1;i<=4;i++)
    if(num[i]<0||num[i]>255)
    {
        b=0;
        break;
    }
   if(b==0)
        cout<<"N";
   else
    cout<<"Y";
    cout<

经典    分支结构


你可能感兴趣的:(安科,C++,ACM,字符串)