就是验证每一个点中间是不是数字且数字是不是小于256
#include<iostream> #include<vector> using namespace std; int main(){ string s; while(getline(cin, s)){ s+='.'; int aa=1; vector<string > v; string tmp; for(int i=0;i<s.size();i++){ if((s[i]<'0'||s[i]>'9')&&s[i]!='.'){ aa=0; } if(s[i]=='.') { v.push_back(tmp); tmp.clear(); continue; } tmp+=s[i]; } for(int i=0;i<v.size();i++){ int a=stoi(v[i]); if(a>255) { aa=0; } } if(aa==1) cout<<"YES"<<endl; else cout<<"NO"<<endl; } return 0; }