(TOJ 4413)IP address
描述
To give you an IP address, it may be dotted decimal IP address, it may be 32-bit binary IP address.
Is now required to give you an IP address, if the IP address is in dotted decimal output is 32-bit binary IP address,On the contrary, the output dotted decimal IP address.for example,the dotted decimal IP address 192.168.0.1,192->11000000,168->10101000,0->00000000,1->00000001,and
the result is11000000101010000000000000000001 。
输入
Multiple inputs, each input a string,the length of the string is less than 33;
输出
Outputrequirements of the subject, if you enter
an IP address in dotted
decimal, then the output32-bit binary
IP addresses, and vice versa, then the outputdotted decimal
IP address.
样例输入
192.168.0.1
样例输出
11000000101010000000000000000001
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<ctype.h> char s[100];
void translate(int n) //将10进制转换为8位的二进制
{
int a[10];
int i,j;
i=0;
while(1)
{
a[i++]=n%2;
if(n/2==0) break;
n/=2;
}
i--;
for(j=1; j<8-i; j++)
{
printf("0");
}
for(j=i; j>=0; j--)
{
printf("%d",a[j]);
}
} void decimalTobinary(char *s)
{
int i,j,len,sum;
sum=0; i=0;len=strlen(s);
while(i<len)
{
if(s[i]!='.')
{
sum+=s[i]-'0';
sum*=10;
}
if(s[i]=='.' || i==len-1)
{
translate(sum/10);
sum=0;
}
i++;
}
printf("\n");
} void binaryTodecimal(char *s)
{
int sum,i,j;
sum=0;
for(i=0; i<=24; i+=8)
{
for(j=i; j<i+7; j++)
{
sum+=s[j]-'0';
sum*=2;
}
sum+=s[j]-'0';
printf("%d",sum);
if(i!=24) printf(".");
sum=0;
}
printf("\n");
} void solve()
{
char *p;
while(gets(s))
{
p=strchr(s,'.');
if(p==NULL)
{
binaryTodecimal(s);
}
else
{
decimalTobinary(s);
}
}
} int main()
{
solve();
return 0;
}
(TOJ 4413)IP address的更多相关文章
- oracle 11g rac R2 for linux change(public,vip)IP ,hostname (oracle 11g rac R2 修改公有,虚拟,私有IP,网卡)
结构如下: 说明: 节点IP,主机名的修改步骤来自ORACLE support文档: 如何修改集群的公网信息(包括 VIP) (文档 ID 1674442.1) 实验环境情况如下: 实验 节点名称 数 ...
- (回溯法)ip地址的合理性
题目: 给定一个只包含数字的字符串,通过返回所有可能有效的IP地址组合来恢复它. 例如: 给定“”, return [“255.255.11.135”,“255.255.111.35”]. (顺序无所 ...
- 网络地址转换NAT的两种模式(概念浅析)& IP溯源
由于全球IPv4地址越来越少.越来越贵,因此大到一个组织,小到一个家庭一个人都很难获得公网IP地址,所以只能使用内网地址,从而和别人共享一个公网IP地址.在这种情况下,NAT技术诞生. 翻译 NAT( ...
- python 判断字符串是否为(或包含)IP地址
下面是某个字符串是否为IP地址import re def isIP(str): p = re.compile('^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5 ...
- SecureCRT无法连接虚拟机Linux—虚拟网卡(NAT方式)IP(169.254.xx.xx)无效问题
搞了一晚上,终于解决了http://blog.csdn.net/zengxianyang/article/details/50394809
- 图解TCP/IP笔记(3)——IP协议
目录 IP协议 IP寻址 IP地址组成 IP地址分类 广播地址 子网掩码 全局地址和私有地址 IP协议 跨越不同数据链路,实现两端节点之间的数据包传输 数据链路:只负责某一个区间之间的通信传输 IP协 ...
- Dubbo入门到精通学习笔记(八):ActiveMQ的安装与使用(单节点)、Redis的安装与使用(单节点)、FastDFS分布式文件系统的安装与使用(单节点)
文章目录 ActiveMQ的安装与使用(单节点) 安装(单节点) 使用 目录结构 edu-common-parent edu-demo-mqproducer edu-demo-mqconsumer 测 ...
- 客户端(Winform窗体)上传文件到服务器(web窗体)简单例子
客户端:先创建一个winform窗体的应用程序项目 项目结构
- 网络通信协议八之(传输层)TCP协议详解
传输层协议 分段是为了提高传输效率,封装是指给每个数据段添加一个编号 端到端的传输是逻辑上的端到端,并不是真正意义上的发送方某层与接收方某层之间的传输 IP协议只是保证数据报文发送到目的地,为主机之间 ...
随机推荐
- 有限状态机(FSM)的Java 演示
本文从简单的样例入手,逐步演变成很复杂的程序. 在简明 状态模式(5.8)中,状态之间的变换由外界控制,或者说.多种状态是切割的.无关的.状态模式最有趣的地方正是讨论其状态的变迁. 1.引子 空调(a ...
- scp 链接文件的问题 + tar
将本地的文件上传到服务器上,希望保持相对链接关系.(链接文件和被链接文件都在同一的目录下) 使用scp进行传输时,链接关系不会保存,所以需要解决下.(当然可以使用rsync或tar解决,但是rsync ...
- windows下用php实现svn代码更新
windows下的服务器 没有登录权限,如何从svn更新代码 用php页面,实现更新代码 $cmd = '"C:\Program Files\TortoiseSVN\bin\Tortoise ...
- ITIL之“变更管理”
首先要说明的是ITIL的变更是指“上线系统的变更”,而不是指系统建设的变更. ITIL的变更的流程如下: 整个变更管理在实际操作中有几个注意点: 1. 现存的企业中,变更咨询委员会(CAB)可能只有信 ...
- 【搞笑签名】390个qq个性昵称或签名,周末前娱乐一下
1 来瓶82年的矿泉水 2 名不正则言承旭 3 天涯何处无芳草,还是母乳喂养好 4 她的妈妈不爱我 5 你丫的 6 农夫三拳 7 猪嚼在恋√痛 8 马驴脸猛鹿 9 小白兔兽性大发 10 曰捣一乱 11 ...
- spring boot工程打成JAR包到服务器上运行
只需在项目的pom.xml中加入下面插件 <build> <plugins> <plugin> <groupId>org.springframework ...
- Android测试跑单个包脚本文件
脚本: adb shell monkey -p 应用包名 --throttle 随机事件间隔 -v -v -v -s 1 --ignore-security-exceptions --kill-pro ...
- 6.824 Lab 5: Caching Extents
Introduction In this lab you will modify YFS to cache extents, reducing the load on the extent serve ...
- Mesos 入门教程
Mesos提供了高效.跨分布式应用程序和框架的资源隔离和共享,支持Hadoop. MPI.Hypertable.Spark等. Mesos是Apache孵化器中的一个开源项目,使用ZooKeeper实 ...
- Weblogic集群部署
有些事情不去尝试,注定是失败,如果预知90%的失败仍然去尝试了,那也会从中学到很多,何况仅靠那10%的可能性也会成功 weblogic安装后 1.打开Configuration Wizard 2.创建 ...