关注
更正后的代码: #include<iostream> #include<string> #include<sstream> #include<vector> using namespace std; bool judge_ip(string ip) { int j = 0; istringstream iss(ip); string seg; while (getline(iss, seg, '.')) if (++j > 4 || seg.empty() || stoi(seg) > 255) return false; return j == 4; } bool is_private(string ip) { istringstream iss(ip); string seg; vector<int> v; while (getline(iss, seg, '.')) v.push_back(stoi(seg)); if (v[0] == 10) return true; if (v[0] == 172 && (v[1] >= 16 && v[1] <= 31)) return true; if (v[0] == 192 && v[1] == 168) return true; return false; } bool is_mask(string ip) { istringstream iss(ip); string seg; unsigned b = 0; while (getline(iss, seg, '.')) b = (b << 8) + stoi(seg); if (!b) return false; b = ~b + 1; if (b == 1) return false; if ((b & (b - 1)) == 0) return true; return false; } int main() { string input; int a = 0, b = 0, c = 0, d = 0, e = 0, err = 0, p = 0; while (cin >> input) { istringstream is(input); string add; vector<string> v; while (getline(is, add, '~')) v.push_back(add); int first = stoi(v[0].substr(0, v[0].find_first_of('.'))); if (first != 127 && (!judge_ip(v[1]) || !is_mask(v[1]))) err++; else { if (!judge_ip(v[0])) err++; else { if (is_private(v[0])) p++; if (first > 0 && first < 127) a++; else if (first > 127 && first < 192) b++; else if (first > 191 && first < 224) c++; else if (first > 223 && first < 240) d++; else if (first > 239 && first < 256) e++; } } } cout << a << " " << b << " " << c << " " << d << " " << e << " " << err << " " << p << endl; return 0; }</string></int></vector></sstream></string></iostream>
2
相关推荐
牛客热帖
更多
正在热议
更多
# 26届春招投递记录 #
26488次浏览 185人参与
# 我与AI的日常 #
8623次浏览 92人参与
# 我的求职总结 #
505192次浏览 7016人参与
# 数字马力求职进展汇总 #
356260次浏览 2402人参与
# 27届实习投递记录 #
104125次浏览 1029人参与
# 你是怎么和mt相处的? #
108685次浏览 560人参与
# 工作压力大怎么缓解 #
169111次浏览 1379人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
167947次浏览 913人参与
# 腾讯工作体验 #
643498次浏览 3891人参与
# 产运销实习日记 #
107073次浏览 740人参与
# 摸鱼被leader发现了怎么办 #
206629次浏览 937人参与
# 材料专业就业可以去哪些企业岗位 #
68583次浏览 395人参与
# 你在职场上见过哪些“水货”同事 #
41225次浏览 175人参与
# 你遇到过哪些神仙同事 #
146832次浏览 778人参与
# 牛客AI体验站 #
31670次浏览 444人参与
# 刚入职就____,这样正常吗? #
155506次浏览 719人参与
# 春招开局,你有保底offer吗? #
146469次浏览 697人参与
# 实习学不到东西正常吗? #
69758次浏览 713人参与
# 今年秋招哪家公司给的薪资最良心? #
487457次浏览 2598人参与
# 材料专业可以靠半导体脱坑吗? #
41874次浏览 156人参与
查看13道真题和解析