输入格式:
输入在一行中给出32位二进制字符串。
输出格式:
在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间用“.”分隔开。
输入样例:
11001100100101000001010101110010
输出样例:
204.148.21.114
#include<stdio.h>
#include<math.h>
int main()
{
char str[33];
int i, t = 7, sum = 0;
int cnt = 32;
gets(str);//回车键占据一个空格 ,数组长度应为33,小了会导致数组越界访问
for(i = 0; i< 32; i++)
{
str[i] = str[i] - 48;//将字符转为数字
sum = sum + str[i] * pow(2,t);
if(t == 0)
{
printf("%d", sum);
t = 7;//计算完一组数,将sum清零
sum = 0;
if(i != 31)
{
printf(".");
}
}
else
t--;
}
return 0;
}