题目1475:IP数据包解析
来源:互联网 发布:电脑防蓝光软件 编辑:程序博客网 时间:2024/06/06 02:06
#include<stdio.h> #include<string.h> int num(char *c) { // 字符转换为数字 if (*c >= '0'&&*c <= '9') return *c - '0'; else return *c - 'a' + 10;}int sum1(char *p) { // 求地址 return 16 * num(p) + num(p + 1);}int sum2(char *p) { // 求端口 return 256 * 16 * num(p) + 256 * num(p + 1) + 16 * num(p + 3) + num(p + 4);}int main() { int n, c = 1; while (scanf("%d", &n) != EOF) { char str[1000]; gets(str); while (n--) { gets(str); //从缓冲区获取字符串 int IHL = num(str + 1) * 4 * 3; //计算ip头部长度. printf("Case #%d\nTotal length = %d bytes\n", c++, sum2(str + 6)); printf("Source = %d.%d.%d.%d\n", sum1(str + 36), sum1(str + 39), sum1(str + 42), sum1(str + 45)); printf("Destination = %d.%d.%d.%d\n", sum1(str + 48), sum1(str + 51), sum1(str + 54), sum1(str + 57)); printf("Source Port = %d\n", sum2(str + IHL)); printf("Destination Port = %d\n\n", sum2(str + IHL + 6)); } } return 0;}/************************************************************** Problem: 1475 User: cust123 Language: C++ Result: Accepted Time:0 ms Memory:1020 kb****************************************************************/
0 1
- 题目1475:IP数据包解析
- 题目1475:IP数据包解析
- 题目1475:IP数据包解析
- 98. IP数据包解析 题目1475:IP数据包解析
- 九度题目1475:IP数据包解析
- 九度oj 题目1475:IP数据包解析
- 【九度OJ】题目1475:IP数据包解析 解题报告
- 解析IP数据包
- 98. IP数据包解析
- IP数据包分析与解析
- TCP/IP数据包解析示例
- IP数据包分析与解析
- 九度1475 - IP数据包解析(北邮)
- 以太网,IP、TCP、UDP数据包解析
- 九度题库 1475:IP数据包解析(北京邮电大学2012机试)
- ip数据包
- 什么是IP数据包
- ip 数据包校验和
- CodeForces 644 B.Processing Queries(队列)
- ubuntu16.04 搜狗输入法无法输入中文
- Spring AOP 详解
- 求100以内的素数,全部打印出来
- spring的依赖注入 注解版
- 题目1475:IP数据包解析
- 算法时间复杂度(二)
- SQL中LIKE '%' 与 PreparedStatement的占位符 ? 使用方法
- Java 直接运行jar里的某个类
- POJ1611 The Suspects
- 邻接表存储无向图
- 根据内容获取web高度(动态获取web高度)
- 【Java学习20170427】Servlet过滤器和监听器
- 完数