7-14 IP地址转换 (20 分)

    xiaoxiao2022-07-04  126

    一个IP地址是用四个字节(每个字节8个位)的二进制码组成。请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出。


    输入格式:

    输入在一行中给出32位二进制字符串。


    输出格式:

    在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间用“.”分隔开。


    输入样例:

    11001100100101000001010101110010


    输出样例:

    204.148.21.114


    #include<stdio.h> #include<math.h> int main() {char a[33]; int b[33]; int i=0,j=1,k=0,t=0,sum=0; while((a[i]=getchar())!='\n') i++; a[i]='\0'; for(i=0;a[i]!='\0';i++) {sum+=pow(2,(7-i)+8*t)*(a[i]-'0'); if((i+1)%8==0) {b[k++]=sum; sum=0; t++;} } printf("%d",b[0]); for(i=1;i<k;i++) printf(".%d",b[i]); return 0; }
    最新回复(0)