蛤玮最近学习了关于ip的知识,于是他迫不及待的想把新知识传授给她的妹子.蛤玮的妹子随便写下了一个字符串,蛤玮现在要告诉她这个字符串是不是一个合法的ip地址.
为简单考虑,仅考虑ipv4的情况,即合法ip为形同"a1.a2.a3.a4",且0<=ai<=255。
若合法,输出"Yes",否则输出"No"(不包含引号)。
啥也不想说了 唉
一定要是四个符合条件的ai 注意是四个
一定要是3个符合条件的. 注意是3个。。
#include<stdio.h> #include <string.h> int main() { int ncase; scanf("%d",&ncase); while(ncase--) { char str[55]; memset(str,0,sizeof(str)); scanf("%s",str); int sum=0,i=0,count=0,num=0; bool flag=false,is=false; while(str[i]!='\0') { while(str[i]>='0'&&str[i]<='9') { is=true; sum=sum*10+(str[i]-'0'); if(sum>255) { flag=true; break; } i++; } if(is) num++; if(str[i]=='\0'||flag) { if(sum>255||sum<0) flag=true; break; } if(sum<0||sum>255||str[i]!='.') { flag=true; break; } else count++; sum=0; is=false; i++; } if(!flag&&num==4&&count==3) printf("Yes\n"); else printf("No\n"); } return 0; }