题解 | IP地址
#include <iostream> using namespace std; int main() { string s; while(cin>>s) { s[s.length()]='.'; int sum=0,cnt=0,f=0; for(int i=0;i<s.length()+1;i++) { if(s[i]!='.') cnt++; else { int t=i-1;int c=1; while(cnt--) { sum+=(s[t]-'0')*c; t--; c*=10; } if(sum>255||sum<0) { f=1; cout<<"No!"<<endl; sum=0,cnt=0; break; } else sum=0,cnt=0; } } if(f==0) cout<<"Yes!"<<endl; } }