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

整数与IP地址间的转换

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

/*
**直接用stoi和to_string函数强撸
*/
#include <iostream>
#include <string>

using namespace std;

int main(void)
{
    string s;
    unsigned int ip;
    while(cin >> s >> ip)
    {
        unsigned int t[4] = {0};
        string v[4];
        unsigned int oip = 0;
        int j = 0;
        for (int i = 0; i < s.size();i++)
        {
            if(s[i] == '.')
            {
                j++;
            }
            else
            {
                v[j] += s[i];
            }
        }

        oip = stoi(v[0]) << 24 | stoi(v[1]) << 16 | stoi(v[2]) << 8 | stoi(v[3]) << 0;
        cout<< oip <<endl;

        string v1[4];
        for (j = 0; j < 4; j++)
        {
            v1[j] = to_string(((ip >> ((3 - j) * 8)) & 0xff));
            if (j == 3) cout<<v1[j] << endl;
            else cout<<v1[j] << ".";
        }


    }
    return 0;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
06-30 18:19
点赞 评论 收藏
分享
牛客刘北:如果暑期实习是27届的话,你要晚一年才会毕业,企业为什么会等你呢?要搞清时间逻辑呀!27届现在实习只能是在暑假实习,这是日常实习,不是暑期实习。所以多去投日常实习吧,暑期实习肯定不会要你的
点赞 评论 收藏
分享
陆续:不可思议 竟然没那就话 那就我来吧 :你是我在牛客见到的最美的女孩
点赞 评论 收藏
分享
评论
3
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务