#include <iostream>
#include<string>
#include <stdlib.h>//for atoi()
using namespace std;
void isValidIP(string ip);
int main(){
string IP;
getline(cin,IP);
isValidIP(IP);
return 0;
}
void isValidIP(string ip){
string delim=".";
string ret[4];
bool state = true;
string::size_type loc=0,start =0;
for(int i=0;i<4;i++){
loc = ip.find(delim, start);
if(loc != string::npos){
ret[i]=ip.substr(start,loc-start);
start=loc+1;
}else if(i==3){
ret[i]=ip.substr(start);
}else{
//格式不对,应该有3个.
state = false;
}
}
for(int i=0;i<4;i++){
int num=atoi(ret[i].c_str());
if(num>255){
state = false;
}else if((num==0)&&(ret[i].compare("0"))){
state = false;
}
}
if(state == false)
cout<<"NO";
else
cout<<"YES";
}
华为OJ合法IP判断
最新推荐文章于 2022-02-02 14:18:47 发布