#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语言代码)浏览:963 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:710 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:703 |
奖学金 (C++代码)浏览:2008 |
C语言训练-素数问题 (C语言代码)浏览:998 |
ASCII帮了大忙浏览:749 |
蛇行矩阵 (C语言代码)浏览:753 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:514 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:2092 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:634 |