0
点赞
收藏
分享

微信扫一扫

zzulioj 1874 蛤玮学计网 (“玲珑杯”郑州轻工业学院第八届ACM程序设计大赛暨河南高校邀请赛-正式赛)



1874: 蛤玮学计网

Time Limit: 1 Sec   Memory Limit: 128 MB

Submit: 1038  

Solved: 161


​​Submit​​ ​Status​​  ​Web Board​


Description


蛤玮最近学习了关于ip的知识,于是他迫不及待的想把新知识传授给她的妹子.蛤玮的妹子随便写下了一个字符串,蛤玮现在要告诉她这个字符串是不是一个合法的ip地址.


为简单考虑,仅考虑ipv4的情况,即合法ip为形同"a1.a2.a3.a4",且0<=ai<=255。

Input

第一行为一个整数T(1<=T<=20),代表数据组数。接下来T行每行一个字符串,其中不包含空格,Tab以及回车,长度不超过50。



Output

若合法,输出"Yes",否则输出"No"(不包含引号)。

Sample Input


210.105.240.51f.a.t.e


Sample Output

YesNo


HINT

我们认为010.105.240.051是合法的。

Source

​​Submit​​          ​Status​​   Web Board



啥也不想说了  唉 

一定要是四个符合条件的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;
}



举报

相关推荐

0 条评论