思路

  1. 注意定义long型变量
  2. 利用scanf特性获得输入数据
  3. 通过移位将n1,n2;
  4. 注意输出时格式为%u,输出无符号数

Answer

#include <stdio.h>
int main(void)
{
    int a,b,c,d;
    long n1,n2;
    while(scanf("%d.%d.%d.%d",&a,&b,&c,&d) != EOF)
    {
        scanf("%u",&n1);
        n2 = (a<<24)+(b<<16)+(c<<8)+d;
        printf("%u\n",n2);
        a=(n1>>24);
        b=(n1>>16)&255;
        c=(n1>>8)&255;
        d=n1&255;
        printf("%d.%d.%d.%d\n",a,b,c,d);
    }
}