您的位置:首页 > 其它

HDU-2206 IP的计算 简洁AC

2011-08-16 22:34 477 查看
  给定一个IP要求判断是否为正确IP。这里用sscanf进行处理较为方便。在数据末尾添加一个tail字符来判定是否还有缀余字符,利用到该函数的返回值。

  

#include <cstdio>
#include <cstring>
#include <cstdlib>
using namespace std;

bool r( int x )
{
return x>= 0&& x<= 255? 1: 0;
}

int main()
{
char ip[105];
while( gets( ip ) )
{
int a, b, c, d, len= strlen( ip ), flag= 0;
if( strchr( ip, '+' )|| strlen( ip )> 15 )
{
puts( "NO" );
continue;
}
char tail;
if( sscanf( ip, "%d.%d.%d.%d%c", &a, &b, &c, &d, &tail ) == 4 )
{
if( r(a)&& r(b)&& r(c)&& r(d) )
puts( "YES" );
else
puts( "NO" );
}
else
puts( "NO" );
}
return 0;
}


  

  

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: