码迷,mamicode.com
首页 > 其他好文 > 详细

26:IPMaskCheck识别有效的ip地址和掩码并分类统计

时间:2016-08-15 22:24:49      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:

题目描述

请解析IP地址和对应的掩码,进行分类识别。要求按照A/B/C/D/E类地址归类,不合法的地址和掩码单独归类。

所有的IP地址划分为 A,B,C,D,E五类

A类地址1.0.0.0~126.255.255.255;  

B类地址128.0.0.0~191.255.255.255; 

C类地址192.0.0.0~223.255.255.255; 

D类地址224.0.0.0~239.255.255.255; 

E类地址240.0.0.0~255.255.255.255 

私网IP范围是: 

10.0.0.0~10.255.255.255

172.16.0.0~172.31.255.255 

192.168.0.0~192.168.255.255 

子网掩码为前面是连续的1,然后全是0。(例如:255.255.255.32就是一个非法的掩码)

输入描述:多行字符串。每行一个IP地址和掩码,用~隔开。

输出描述:统计A、B、C、D、E、错误IP地址或错误掩码、私有IP的个数,之间以空格隔开。

输入例子:

10.70.44.68~255.254.255.0

1.0.0.1~255.0.0.0

192.168.0.2~255.255.255.0

19..0.~255.255.255.0

输出例子:

1 0 1 0 0 2 1

# 1. Mask 255.255.255.255 , 0.0.0.0 为非法。
# 2. IP和Mask必须同时正确,才能被分类到A, B, C, D, E以及私有。
# 3. IP和Mask同时错误时,只算一次错误
# 4. 注意0.*.*.*以及127.*.*.*不属于任何类别。
思路:
每一行数据有一个ip和一个掩码,先判断两个的长度,不符合直接over;
下来看掩码,掩码不符合,直接错误的+1,后边不用执行判断IP,所以设置flag(如何判断掩码是否符合)
掩码符合,判断IP,根据区间断归类统计,每个区间段之后继续判断是不是私网IP
 

26:IPMaskCheck识别有效的ip地址和掩码并分类统计

标签:

原文地址:http://www.cnblogs.com/newcoder/p/5774424.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!