描述
输入一个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 512.12.2.3
输出:
Yes! No!
代码:
#include <iostream>
using namespace std;
int main() {
string str;
while (cin >> str) {
int sum=0;
int flag=1; //标志是否超出范围
for(int i=0;i<str.size();i++){
if(str[i]!='.'){
sum=sum*10+str[i]-'0';
}else {
if(sum<0||sum>255){
cout<<"No!"<<endl;
flag=0;
break;
}else{
sum=0;
}
}
}
if(flag&&sum<0||flag&&sum>255){ //判断最后一个数
cout<<"No!"<<endl;
}else{
if(flag)cout<< "Yes!"<<endl;
}
}
}