#include <iostream> #include <string> using namespace std; //判断ip是否合法 bool isLegal(string ip) { int length=0; length=ip.length(); if(length>15) return false;//初步判断,若长度超过允许最大长度则不合法 int count=0;//记录整数的个数,排除1.2.3.4.5合法性 for(int i=0;i<length;i++) { int num=0;//记录小数点间的整数 while(ip[i]!='.'&&ip[i]!=0) { int single=ip[i]-48;//记录单个字符 if(single<0||single>9) return false;//出现字母或特殊字符则不合法 ,负数也能在此处排除 num*=10; num+=single; if(num==0) return false;//若首位是0则不合法 i++; } if(num==0) return false;//排除连续两个小数点出现的情况 count++; if(num>255) return false;//大于255不合法 } if(count!=4) return false;// 记录整数的个数,排除1.2.3.4.5合法性 return true; } int main() { string ip; while(cin>>ip) { if(isLegal(ip)) cout<<"Y"<<endl; else cout<<"N"<<endl; } return 0; }
0.0分
0 人评分
C语言训练-亲密数 (C语言代码)浏览:697 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:913 |
1025题解浏览:796 |
1118(求助_已解决)浏览:351 |
C二级辅导-温度转换 (C语言代码)浏览:802 |
永远的丰碑 (C语言代码)浏览:608 |
简单的a+b (C语言代码)浏览:542 |
明明的随机数 (C语言代码)浏览:965 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:599 |
2004年秋浙江省计算机等级考试二级C 编程题(2) (C语言描述——递归算法)浏览:1150 |