心累 , 狗日的想了好多数据 , ......啥也不说了 我去哭一会 .
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 }
时间: 2024-10-05 05:49:51