蛤玮学计网 -- 简单的判断ip

心累 , 狗日的想了好多数据 , ......啥也不说了 我去哭一会 . 

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<math.h>
 4 #include<iostream>
 5 #include<limits.h>
 6 #include<algorithm>
 7 #include<queue>
 8 #include<vector>
 9 #include<set>
10 #include<stack>
11 #include<string>
12 #include<sstream>
13 #include<map>
14 #include<cctype>
15 using namespace std;
16 //  1 , 三个点
17 //  2 , 判断数字是否在范围内
18 //  3 , 字母的话 不合题意
19 //  4 , 最多三个数
20 int main()
21 {
22     int t;
23     char a[55];
24     scanf("%d",&t);
25     while(t--)
26     {
27         scanf("%s",a);
28         int l=strlen(a),flag=1;  //默认 可以
29         int sum=0,count1=0,time=0;
30         for(int i=0;i<l;i++)
31         {
32             if(a[i]=='.')
33             {
34                 if(sum<0||sum>255)
35                     flag=0;
36                 if(time==0||time>3)   //判断两个点之间 数字的个数 是否符合要求
37                     flag=0;
38                 time=sum=0;
39                 count1++;
40                 continue;
41             }
42             if(!(a[i]>='0'&&a[i]<='9'))   //如果不是  0 - 9 的话
43                 flag=0;         //   出现字母啥都别说了 ....
44             sum=sum*10+a[i]-'0';
45             time++;
46         }
47         if(count1!=3)
48             flag=0;
49         if(flag)
50             printf("Yes\n");
51         else
52             printf("No\n");
53     }
54     return 0;
55 }

 

posted @ 2016-04-18 14:40  X-POWER  阅读(347)  评论(0编辑  收藏  举报