IP判断
?IP判斷
題目描述
在基于Internet的程序中,我們常常需要判斷一個IP字符串的合法性。?合法的IP是這樣的形式:?
A.B.C.D?
其中A、B、C、D均為位于[0, 255]中的整數。為了簡單起見,我們規定這四個整數中不允許有前導零存在,如001這種情況。?
現在,請你來完成這個判斷程序吧^_^?
?
輸入
輸入由多行組成,每行是一個字符串,輸入由“End of file”結束。?字符串長度最大為30,且不含空格和不可見字符?
?
輸出
對于每一個輸入,單獨輸出一行?如果該字符串是合法的IP,輸出Y,否則,輸出N?
?
樣例輸入
1.2.3.4 a.b.c.d 267.43.64.12 12.34.56.bb 210.43.64.129 -123.4.5.6?
樣例輸出
Y N N N Y NAC代碼:
1 #include <string> 2 #include <cstdio> 3 #include <cstring> 4 #include <iostream> 5 #include <algorithm> 6 using namespace std; 7 8 int main() 9 { 10 string ip; 11 while (cin>>ip) 12 { 13 if (ip=="End") 14 break; 15 int sum=0;bool flag=1; 16 int len=ip.size(); 17 for (int i=0;i<len;i++) 18 { 19 if (ip[0]=='-') 20 { 21 flag=false; 22 break; 23 } 24 else 25 { 26 if (ip[i]=='.') 27 { 28 if (sum<0 || sum>255) 29 { 30 flag=false; 31 break; 32 } 33 sum=0; 34 } 35 else if (ip[i]-'0'<0 || ip[i]-'0'>9) 36 { 37 flag=false; 38 break; 39 } 40 else 41 sum+=sum*10+(ip[i]-'0'); 42 } 43 if (!flag) 44 break; 45 } 46 if (flag) 47 printf("Y\n"); 48 else 49 printf("N\n"); 50 } 51 return 0; 52 } IP
?
?轉載于:https://www.cnblogs.com/LHR-HY/p/11061189.html
總結

- 上一篇: Dockerfile镜像的制作
- 下一篇: PHP不能精确表达小数 PHP除法结果不