1006;IP判断

来源:互联网 发布:js获得窗口宽度 编辑:程序博客网 时间:2024/05/29 18:10

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<iostream>#include<stdio.h>#include<string.h>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<a;i++)        {            if(ip[i]=='.')            {                c++;                k=1;                j++;            }        else        {            if(k==1&&ip[i]=='0')            {                b=0;                break;            }        if(ip[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<<endl;    }return 0;}

经典    分支结构


原创粉丝点击