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的计算相关推荐

  1. HDU 2206 IP的计算(字符串处理)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2206 Problem Description 在网络课程上,我学到了非常多有关IP的知识. IP全称叫 ...

  2. HDU2206 IP的计算【文本处理】

    IP的计算 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  3. 计算机网络-IP数据报计算(IP数据报分片)一个数据报部分长度为3400字节(使用固定首部)。现在经过一个网络传输,该网络的MTU为800字节:

    IP数据报计算(IP数据报分片) 题目: 一个数据报部分长度为3400字节(使用固定首部).现在经过一个网络传输,该网络的MTU为800字节: (1)应分为几个数据报片? (2)各数据报片的数据字段长 ...

  4. 【Linux 网络】IP校验和计算相关

    校验和只是为防止报文在信道传输出现误码导致报文错误,并不保证报文被他人恶意篡改. 转发报文相关的校验和包括3层校验和4层校验,2中的校验和的计算公式的入参不同:3层校验仅仅校验3层头:4层校验需要校验 ...

  5. vivado CORDIC ip核计算arctan记录

    文章目录 前言 一.CORDIC ip核配置 二.CORDIC ip核接口 三.仿真波形 四.工程文件 前言 本文主要记录自己使用vivado CORDIC ip 核计算arctan的过程. 一.CO ...

  6. ip地址覆盖计算 python_python关于ip的计算-IPy

    工作中,我们有时候会遇到要计算一个ip或者网段是否在另一个网段中.有时候会判断两个网段是否重叠.这时使用IPy会方便很多. 下列的shell是IPy的安装: cd /usr/local wget ht ...

  7. 彻底明白IP地址——计算相关地址

    通过IP地址和子网掩码与运算计算相关地址 知道ip地址和子网掩码后可以算出: 1. 网络地址 2. 广播地址 3. 地址范围 4. 本网有几台主机 例1:下面例子IP地址为192·168·100·5 ...

  8. 网络布线的概念和IP的计算

    网络布线与IP计算 一.IP的基本概念 1.什么是子网? 2.什么是主机位? 3.子网的计算公式 4.主机位的计算公式 5.可用IP的公式 二.网络布线 1.双绞线 2.双绞线的分类 3.双绞线的标准 ...

  9. 【计算机网络】彻底明白IP地址——计算相关地址

    知道ip地址和子网掩码后可以算出: 1. 网络地址 2. 广播地址 3. 地址范围 4. 本网有几台主机 例1:下面例子IP地址为192·168·100·5 子网掩码是255·255·255·0.算出 ...

  10. oracle ip地址 计算,【翻译自mos文章】怎么正确的计算一个ip地址的subnet id?

    怎么正确的计算一个ip地址的subnet id? 来源于: How to calculate the correct subnet for an interface (文档 ID 1059759.1) ...

最新文章

  1. Membership角色与权限管理
  2. oracle 12c chad,ORACLE 12.2RAC之问题 ora.chad OFFLINE
  3. 《剑指offer》孩子们的游戏---约瑟夫问题
  4. es mysql 同步插件_[es和数据库怎么同步]mysql与elasticsearch实时同步常用插件及优缺点对比(ES与关系型数据库同步)...
  5. @Entity,@Indexed @XmlRootElement
  6. mysql怎么直接显示对象信息_对象保存进MySQL数据库,从MySQL中读取出对象信息的源码...
  7. matlab元胞元素_MATLAB元胞数组(cell)知识
  8. Cleaning Bad Data in R R语言数据清理教程 Lynda课程中文字幕
  9. SQLMAP使用教程(一)
  10. 备份手机相册----syncthing (一劳永逸式解决方案)
  11. android 手机锁 无服务器,安卓手机锁屏密码忘记了怎么办?adb解锁图文教程
  12. 用户密钥管理方案 密钥托管 授权托管
  13. electron 双击放大事件
  14. A Morphable Model For The Synthesis Of 3D Faces 论文解析 3DMM
  15. 博士申请 | 华东师范大学张凯教授课题组招收图神经网络方向博士生
  16. bw_mem 内存_TCP:内存不足—考虑调整tcp_mem
  17. 软考高级系统架构设计师:特定领域软件架构
  18. 走近求伯君1 求伯君,1964年11月26日出生于浙江新昌县。
  19. 骁龙 820 车用处理器
  20. 【Shell系列】$(shell pwd)和$(pwd)用法区别

热门文章

  1. 小学必背古诗词80首(带拼音)
  2. 树莓派中文环境的配置
  3. Wilcoxon秩和检验MATLAB实现
  4. 2017双十一珠峰算法框架Hierarchical中控算法
  5. 网站监控服务都包括哪些具体内容?
  6. 图像处理/opencv/C++:图像马赛克
  7. python苹果手机触摸_python实现查询苹果手机维修进度
  8. 什么是DNS域名解析
  9. Xcode13运行iPhone14模拟器暨低版本Xcode运行高版本模拟器
  10. 2019年支付宝集五福秘笈!内含攻略及互助群