hdu-2206 IP的计算
IP的计算
Problem Description
在网络课程上,我学到了很多有关IP的知识。IP全称叫网际协议,有时我们又用IP来指代我们的IP网络地址,现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如192.168.100.16,是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一个32数字)。
但是粗心的我,常常将IP地址写错,现在需要你用程序来判断。
Input
输入有多个case,每个case有一行,不超过100个字符。
Output
对于每个case,判断输入的IP是否正确,如果正确输入YES,否则NO。
Sample Input
192.168.100.16
Sample Output
YES
题意描述:
判断一个字符串是否为一个正确的IP地址。
解题思路:
字符串长度不会超过15,字符只含有‘0’~‘9’及‘ . ’;第一个和最后一个字符不会为‘ . ’;每一部分的数字不会超过255,只有三个' . ',且能有连续的点。
程序代码:
#include<stdio.h>
#include<string.h>
char ch[220];
int main()
{int i,len,j,n,num,k,f,s;while(fgets(ch,220,stdin)!=NULL){len=strlen(ch);if(ch[len-1]=='\n')ch[len-1]='\0';len=strlen(ch);if(len>15||ch[len-1]=='.'||ch[0]=='.')printf("NO\n");else{f=0;for(i=0;i<len;i++){s=0;if(ch[i]>='0'&&ch[i]<='9'||ch[i]=='.'){s=1;}if(s==0){f=1;break;}}if(f==1)printf("NO\n");else{k=0;num=0;for(i=0;i<len;i++){if(ch[i]!='.'){num=(ch[i]-'0')+num*10;}else if(ch[i]=='.'){k++;num=0;}if(ch[i]=='.'&&ch[i+1]=='.'||k>3||num>255){f=1;break;}}if(f==0&&k==3)printf("YES\n");elseprintf("NO\n");}}}return 0;
}
错误分析:
理解错题意,题上说IP中不会含空格,错误理解为输入无空格,用的%s输入WA了很多次。
hdu-2206 IP的计算相关推荐
- HDU 2206 IP的计算(字符串处理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2206 Problem Description 在网络课程上,我学到了非常多有关IP的知识. IP全称叫 ...
- HDU2206 IP的计算【文本处理】
IP的计算 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- 计算机网络-IP数据报计算(IP数据报分片)一个数据报部分长度为3400字节(使用固定首部)。现在经过一个网络传输,该网络的MTU为800字节:
IP数据报计算(IP数据报分片) 题目: 一个数据报部分长度为3400字节(使用固定首部).现在经过一个网络传输,该网络的MTU为800字节: (1)应分为几个数据报片? (2)各数据报片的数据字段长 ...
- 【Linux 网络】IP校验和计算相关
校验和只是为防止报文在信道传输出现误码导致报文错误,并不保证报文被他人恶意篡改. 转发报文相关的校验和包括3层校验和4层校验,2中的校验和的计算公式的入参不同:3层校验仅仅校验3层头:4层校验需要校验 ...
- vivado CORDIC ip核计算arctan记录
文章目录 前言 一.CORDIC ip核配置 二.CORDIC ip核接口 三.仿真波形 四.工程文件 前言 本文主要记录自己使用vivado CORDIC ip 核计算arctan的过程. 一.CO ...
- ip地址覆盖计算 python_python关于ip的计算-IPy
工作中,我们有时候会遇到要计算一个ip或者网段是否在另一个网段中.有时候会判断两个网段是否重叠.这时使用IPy会方便很多. 下列的shell是IPy的安装: cd /usr/local wget ht ...
- 彻底明白IP地址——计算相关地址
通过IP地址和子网掩码与运算计算相关地址 知道ip地址和子网掩码后可以算出: 1. 网络地址 2. 广播地址 3. 地址范围 4. 本网有几台主机 例1:下面例子IP地址为192·168·100·5 ...
- 网络布线的概念和IP的计算
网络布线与IP计算 一.IP的基本概念 1.什么是子网? 2.什么是主机位? 3.子网的计算公式 4.主机位的计算公式 5.可用IP的公式 二.网络布线 1.双绞线 2.双绞线的分类 3.双绞线的标准 ...
- 【计算机网络】彻底明白IP地址——计算相关地址
知道ip地址和子网掩码后可以算出: 1. 网络地址 2. 广播地址 3. 地址范围 4. 本网有几台主机 例1:下面例子IP地址为192·168·100·5 子网掩码是255·255·255·0.算出 ...
- oracle ip地址 计算,【翻译自mos文章】怎么正确的计算一个ip地址的subnet id?
怎么正确的计算一个ip地址的subnet id? 来源于: How to calculate the correct subnet for an interface (文档 ID 1059759.1) ...
最新文章
- Membership角色与权限管理
- oracle 12c chad,ORACLE 12.2RAC之问题 ora.chad OFFLINE
- 《剑指offer》孩子们的游戏---约瑟夫问题
- es mysql 同步插件_[es和数据库怎么同步]mysql与elasticsearch实时同步常用插件及优缺点对比(ES与关系型数据库同步)...
- @Entity,@Indexed @XmlRootElement
- mysql怎么直接显示对象信息_对象保存进MySQL数据库,从MySQL中读取出对象信息的源码...
- matlab元胞元素_MATLAB元胞数组(cell)知识
- Cleaning Bad Data in R R语言数据清理教程 Lynda课程中文字幕
- SQLMAP使用教程(一)
- 备份手机相册----syncthing (一劳永逸式解决方案)
- android 手机锁 无服务器,安卓手机锁屏密码忘记了怎么办?adb解锁图文教程
- 用户密钥管理方案 密钥托管 授权托管
- electron 双击放大事件
- A Morphable Model For The Synthesis Of 3D Faces 论文解析 3DMM
- 博士申请 | 华东师范大学张凯教授课题组招收图神经网络方向博士生
- bw_mem 内存_TCP:内存不足—考虑调整tcp_mem
- 软考高级系统架构设计师:特定领域软件架构
- 走近求伯君1 求伯君,1964年11月26日出生于浙江新昌县。
- 骁龙 820 车用处理器
- 【Shell系列】$(shell pwd)和$(pwd)用法区别