题解 | #密码截取#

整数与IP地址间的转换

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

#include <string>
#include <map>
#include <vector>
#include <sstream>
#include <cmath>

using namespace std;

int main() {
    string str;
    stringstream is;
    unsigned indecip,dectemp;
    unsigned outdecip = 0;
    while (cin >> str) {
        string temp;
        int i = 0, t = 0;
        while (i < str.size()) {
            size_t pos = str.find('.',i);
            if (pos == string::npos) pos = str.size();
            temp = str.substr(i, pos - i);
            outdecip += stoul(temp)<< (24 - 8 * t);
            i = pos + 1;
            t++;
        }
        cout << outdecip<<endl;
        cin>>indecip;
        string outstr;
        for(int j = 0;j<4;j++){
            dectemp = indecip>>(24-8*j);
            outstr+=to_string(dectemp)+'.';
            indecip = indecip-(dectemp<<(24-8*j));
        }
        outstr.erase(outstr.size()-1);
        
        cout<<outstr;
        
    }


}

全部评论

相关推荐

本神尊:看来是没招到小红薯上的人
点赞 评论 收藏
分享
zhch7:建议9✌️把学历加黑加粗,如果实在offer可能是觉得佬不会去
投了多少份简历才上岸
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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