题解 | #整数与IP地址间的转换#

整数与IP地址间的转换

http://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea

思路

  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);
    }
}
全部评论

相关推荐

我即大橘:耐泡王
点赞 评论 收藏
分享
冲芭芭拉鸭:你这图还挺新,偷了。
投递美团等公司10个岗位
点赞 评论 收藏
分享
3 1 评论
分享
牛客网
牛客企业服务