判断IP地址是否正确
1、不能出现空格
2、'.'只能有三个
3、每段数不能小于0,不能大于255
4、只能有四个数段
#include<stdio.h>
#include<string.h>
int main()
{
char a[110];int yes,sum,num,x,y,k;
int i;
while(gets(a)!=NULL)
{
yes=1;sum=0;x=0;y=1;k=0;num=0;//k是计数子段的个数,
for(i=0;i<strlen(a);i++)
if(a[i]=='.') num++;
for(i=0;i<strlen(a);i++)
{
if(a[i]=='.')
{
if(sum>255 || x>3) {yes=0;break;}
sum=x=0;
if(y!=1) k++;
x=-1;continue;
}
if(a[i]<'0' || a[i]>'9') {yes=0;break;}
sum=sum*10+a[i]-'0';
y=0;
x++;
}
if(y!=1) k++;//判断最后一段的
if(num!=3 || k!=4 || sum>255) yes=0;
if(yes) printf("YES\n");
else printf("NO\n");
}
return 0;
}