题目描述
输入一个ip地址串,判断是否合法。
输入描述:
每行有一个IP地址,IP地址的形式为a.b.c.d,其中a、b、c、d都是整数。
输出描述:
可能有多组测试数据,对于每组数据,如果IP地址合法则输出"Yes!”,否则输出"No!”。
合法的IP地址为:
a、b、c、d都是0-255的整数。
示例1
输入
复制
255.255.255.255
输出
复制
Yes!
#include<iostream>
#include<cstring>
#include<string>
#include<stdio.h>
using namespace std;
int main(){
int n;
string str;
while(cin>>str){
int len=str.length();
int ans=0;
int flag=1;
for(int i=0;i<len;i++)
{ if(str[i]=='.')
{ if(ans<0||ans>255){
flag=0;
break;
}
ans=0;
}
else if(str[i]>='0'&&str[i]<='9')
{
ans=ans*10+str[i]-'0';
}
}
if(flag&&(ans<0||ans>255))
flag=0;
if(flag)
cout<<"Yes!"<<endl;
else
cout<<"No!"<<endl;
}
}