您的位置:首页 > 其它

hdu 2206 IP的计算(最全的注意事项)

2013-08-10 21:10 288 查看
注意:

 1.非法字符(包括空格)

如下都是错的
A.145.124.4
192.168.18 123(用scanf输入的话,则接收的是:192.168.18)

2.'.'有且仅有3个,且不能连续出现,也不能首位,末位出现,如下都是错的
123..123.45
.124.45.6
45.134.4.

3.不能连续出现4个非 '.'的字符 如下都是错的
192.168.0123.41

4.分成四段数字,各数字<255。


#include<stdio.h>
#include<string.h>
char s[110];
int main()
{
int sl;
while(gets(s))
{
sl=strlen(s);
//printf("%d\n",sl);
int i,sum=0,sum1=0,sum2=0;
for(i=0;i<sl;i++)
{
if(s[sl-1]=='.'||s[0]=='.')break;
if(s[i]>='0'&&s[i]<='9')
{
sum2=sum2*10+s[i]-'0';
sum1++;
}
else if(s[i]=='.')
{
if(s[i+1]=='.')break;
sum++;
sum1=0;
if(sum2>255)break;
sum2=0;
}
else break;
if(sum>3||sum1>3||sum2>255)break;
}
if(i==sl&&sum==3)
printf("YES\n");
else printf("NO\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: