问题 F: 签到题

时间限制: 1 Sec  内存限制: 128 MB
提交: 80  解决: 28

题目描述

在计算机网络考试中, 黑帅男神看到一个将IP网络分类的题, 精通C++的他瞬间写出了几行代码成功解决了这个问题

请解析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地址进行分类

输入

多组,第一行是一个T(T<=100000)
接下来T行,每行一个ip地址(不保证正确)

输出

在上面5类中则输出对应类型
不属于上述类型或IP错误则输出”nope”(不含引号)

样例输入

2
222.195.8.207
127.0.0.1

样例输出

C
nope
 
这题的思路很明确,就是:
1.以“.”为分界,读取ip地址的每位一个段;
2.然后首先判断是否是在1~225的范围内,然后判断前后有没有那些倒灶的字符串导致其根本不符合IP地址的标准;
3.然后有一个小点,就是第一个字段的127不属于任何范围。
 
实现需要的一些小技巧:sscanf
sscanf的功能很强大,使用必须要哟有<stdio.h>头文件,然后要和c++兼容的话我有头文件<cstdio.h>这样就可以在C++的环境下使用这个函数了。
sscanf功能的参考博文:http://blog.csdn.net/jackyvan/article/details/5349724
附上代码:
#include <iostream>
#include<math.h>
#include <iomanip>
#include<cstdio>
#include<string>
#include<map>
#include<vector>
#include<list>
#include<algorithm>
#include<stdlib.h>
#include<iterator>
#include<sstream>
#include<string.h>
#include<stdio.h>
using namespace std; int main()
{
int n;
cin>>n;
int a,b,c,d;
char ip[]={};
char s[]={};
while(n--)
{
a=-;
b=-;
c=-;
d=-;
cin>>ip; sscanf(ip,"%d.%d.%d.%d%s",&a,&b,&c,&d,s);//sscanf读取每个字段,1以“.”为分界
//而且最大的好处是可以把字符串转化为int型的数组 那是甚好的。
if(s[]!=||a> || a< || b> || b< ||c> || c< ||d> || d< )
{
cout<<"nope"<<endl;//第一组,判断就是判断是否每个字段都在 1~225的范围内
continue;//不在 直接去下一个数
}
else if(a>=&&a<=)//根据第一组的数据判断是否在A组
{
cout<<"A"<<endl;
continue;
}
else if(a>=&&a<=)//根据第一分段判断是否在B组
{
cout<<"B"<<endl;
continue;
}
else if(a>=&&a<=)//判断是否在第C组
{
cout<<"C"<<endl;
continue;
}
else if(a>=&&a<=)//判断是否在D组
{
cout<<"D"<<endl;
continue;
}
else if(a>=&&a<=)//判断是否在E组
{
cout<<"E"<<endl;
continue;
}
else
{
cout<<"nope"<<endl;//最后就是在1~225的范围内 第一个字段不符合要求的那些数字的排除
continue;
} }
return ;
}
 
 

2016-2017学年第三次测试赛 问题 F: 签到题的更多相关文章

  1. 2016-2017学年第三次测试赛 习题E 林喵喵算术

    时间限制: 1 Sec  内存限制: 128 MB 提交: 70  解决: 25 提交统计讨论版 题目描述 给你两个八进制数,你需要在八进制计数法的情况下计算a-b. 如果结果为负数,你应该使用负号代 ...

  2. 2016-2017学年第三次测试赛 习题H MCC的考验

    问题 H: MCC的考验 时间限制: 1 Sec  内存限制: 128 MB 题目描述 MCC男神听说新一期的选拔赛要开始了,给各位小伙伴们带来了一道送分题,如果你做不出来,MCC会很伤心的. 给定一 ...

  3. 2018.10.2浪在ACM 集训队第三次测试赛

    2018.10.26 浪在ACM 集训队第三次测试赛 今天是暴力场吗???????可怕 题目一览表 来源 考察知识点 完成时间 A 1275 珠心算测试 NOIP 普及组 2014 暴力??? 201 ...

  4. 2018.11.2浪在ACM集训队第三次测试赛

    2018.11.2 浪在ACM 集训队第三次测试赛 整理人:孔晓霞 A 珠心算测试 参考博客:[1]李继朋  B 比例简化 参考博客: [1]李继朋 C 螺旋矩阵 参考博客:[1]朱远迪 D 子矩阵 ...

  5. 2017.8.2 Noip2018模拟测试赛(十八)

     日期: 八月二日  总分: 300分  难度: 提高 ~ 省选  得分: 40分(又炸蛋了!!) 题目列表: T1:分手是祝愿 T2:残缺的字符串 T3:树点涂色 赛后心得: 哎,T1求期望,放弃. ...

  6. 2017.8.1 Noip2018模拟测试赛(十七)

    日期: 八月第一天  总分: 300分  难度: 提高 ~ 省选    得分: 100分(不应该啊!) 题目目录: T1:战争调度 T2:选数 T3:由乃的OJ 赛后心得: MMP,首先第一题花了大概 ...

  7. 8.30 牛客OI赛制测试赛1 F题 子序列

    题目描述 给出一个长度为n的序列,你需要计算出所有长度为k的子序列中,除最大最小数之外所有数的乘积相乘的结果 输入描述: 第一行一个整数T,表示数据组数.对于每组数据,第一行两个整数N,k,含义如题所 ...

  8. [牛客OI测试赛2]F假的数学游戏(斯特灵公式)

    题意 输入一个整数X,求一个整数N,使得N!恰好大于$X^X$. Sol 考试的时候只会$O(n)$求$N!$的前缀和啊. 不过最后的结论挺好玩的 $n! \approx \sqrt{2 \pi n} ...

  9. 2016 ACM/ICPC亚洲区青岛站现场赛(部分题解)

    摘要 本文主要列举并求解了2016 ACM/ICPC亚洲区青岛站现场赛的部分真题,着重介绍了各个题目的解题思路,结合详细的AC代码,意在熟悉青岛赛区的出题策略,以备战2018青岛站现场赛. HDU 5 ...

随机推荐

  1. Service Worker,Web Worker,WebSocket的对比

    Service Worker 处理网络请求的后台服务.适用于离线和后台同步数据或推送信息.不能直接和dom交互.通过postMessage方法交互. Web Worker 模拟多线程,允许复杂计算功能 ...

  2. PyCharm中的django项目的引入

    1.从github或者从本地的文件打开项目 2.项目引入后,python manage.py runserver 8080启动 1.启动的时候有错误,看看要引入的模块错误,然后把模块引入 D:\.St ...

  3. IntelliJ IDEA 2017.3尚硅谷-----如何创建模块

  4. EF三种数据库操作模型比较

    https://blog.csdn.net/xiongmeiqin/article/details/80196089 EF 中 Code First 的数据迁移以及创建视图 写在前面: EF 中 Co ...

  5. python+pygame制作一个可自定义的动态时钟和详解

    1.效果图 2.完整代码 #第1步:导出模块 import sys, random, math, pygame from pygame.locals import * from datetime im ...

  6. 其他 - markdown 常用语法

    1. 概述 简述 markdown 相关的标记 2. markdown markdown 概述 简单的标记语言 用作快速排版 使用 使用标记对文章样式进行描述 通过专门的引擎读取, 可以展示简单的样式 ...

  7. Go断点续传

    1. seek package main import ( "os" "log" "fmt" "io" ) func m ...

  8. CSS学习(5)更多的选择器

    1.通配符选择器 * 表示选中所有元素 *{color:red;} 2.属性选择器  根据属性名和属性值选中元素 https://developer.mozilla.org/zh-CN/docs/We ...

  9. 每天进步一点点------SOPC的Avalon-MM IP核(三) LCD1602 IP定制

    注:Avalon信号类型命名参考图 /********************************************************************************* ...

  10. P2P头部平台退出后,普通人如何避开投资理财的“雷区”?

    编辑 | 于斌 出品 | 于见(mpyujian) 近期,P2P市场上不断传来不利消息,引起市场轩然大波,也打乱了投资者投资计划,是继续坚持自己的选择还是另择它路? 18日,陆金所作为千亿头部平台,宣 ...