给定IP段到城市的映射表:【 起始IP地址,终止IP地址,城市名】,根据给定的IP查询该IP对应的城市名。 其中IP以IPV4的方式给定,例如:10.12.1.3,城市名为一串英文字符,字符间没有空格。例如: 192.15.0.2 192.16.1.5 beijing 168.3.4.5 168.3.6.8 shanghai 177.2.3.4 177.4.5.6 chongqing 映射表中,不同城市的IP地址不重叠,即:不会出现某个城市的起始IP地址小于另一个城市的终止IP地址的情况;一个城市可能有多个IP段(起始IP地址 + 终止IP地址);可能存在某个IP地址范围没有对应的城市信息。 如果要查询的IP地址属于某个城市,那么输出该城市的名字;如果IP地址不属于任何一个城市,那么输出字符串:none。

区块链毕设网qklbishe.com为您提供问题的解答

给定IP段到城市的映射表:【起始IP地址,终止IP地址,城市名】,根据给定的IP查询该IP对应的城市名。

其中IP以IPV4的方式给定,例如:10.12.1.3,城市名为一串英文字符,字符间没有空格。例如:

192.15.0.2 192.16.1.5 beijing
168.3.4.5 168.3.6.8 shanghai
177.2.3.4 177.4.5.6 chongqing
映射表中,不同城市的IP地址不重叠,即:不会出现某个城市的起始IP地址小于另一个城市的终止IP地址的情况;一个城市可能有多个IP段(起始IP地址 + 终止IP地址);可能存在某个IP地址范围没有对应的城市信息。

如果要查询的IP地址属于某个城市,那么输出该城市的名字;如果IP地址不属于任何一个城市,那么输出字符串:none。

#include <bits/stdc++.h> using namespace std; struct IpRange {     unsigned int low;     unsigned int height;     string address;     bool operator< (const IpRange& range) const     {         return low < range.low;     } };  int main() {     int n,a,b,c,d;     string ip_address;     cin >> n;     set<IpRange> s;     for(int i = 0;i < n;i++)     {         IpRange range;         scanf("%d.%d.%d.%d", &a,&b,&c,&d);         range.low = (a << 24) + (b << 16) + (c << 8) + d;         scanf("%d.%d.%d.%d", &a,&b,&c,&d);         range.height = (a << 24) + (b << 16) + (c << 8) + d;         cin >> ip_address;         range.address = ip_address;         s.insert(range);     }     while(~scanf("%d.%d.%d.%d", &a,&b,&c,&d))     {         unsigned int tmp = (a << 24) + (b << 16) + (c << 8) + d;         bool find = false;         for(auto it = s.begin();it != s.end();it++)         {             if(it->low <= tmp && it->height >= tmp)             {                 cout << it->address << endl;                 find = true;                 break;             }         }         if(!find)         {             cout << "none" << endl;         }     }     return 0; }

46:20

以上就是关于问题给定IP段到城市的映射表:【 起始IP地址,终止IP地址,城市名】,根据给定的IP查询该IP对应的城市名。
其中IP以IPV4的方式给定,例如:10.12.1.3,城市名为一串英文字符,字符间没有空格。例如:
192.15.0.2 192.16.1.5 beijing
168.3.4.5 168.3.6.8 shanghai
177.2.3.4 177.4.5.6 chongqing
映射表中,不同城市的IP地址不重叠,即:不会出现某个城市的起始IP地址小于另一个城市的终止IP地址的情况;一个城市可能有多个IP段(起始IP地址 + 终止IP地址);可能存在某个IP地址范围没有对应的城市信息。
如果要查询的IP地址属于某个城市,那么输出该城市的名字;如果IP地址不属于任何一个城市,那么输出字符串:none。的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

从业7年-专注一级市场


微信:btc9767
TELEGRAM :https://t.me/btcok9

具体资料介绍

web3的一级市场千万收益的逻辑


进群点我



qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 给定IP段到城市的映射表:【 起始IP地址,终止IP地址,城市名】,根据给定的IP查询该IP对应的城市名。 其中IP以IPV4的方式给定,例如:10.12.1.3,城市名为一串英文字符,字符间没有空格。例如: 192.15.0.2 192.16.1.5 beijing 168.3.4.5 168.3.6.8 shanghai 177.2.3.4 177.4.5.6 chongqing 映射表中,不同城市的IP地址不重叠,即:不会出现某个城市的起始IP地址小于另一个城市的终止IP地址的情况;一个城市可能有多个IP段(起始IP地址 + 终止IP地址);可能存在某个IP地址范围没有对应的城市信息。 如果要查询的IP地址属于某个城市,那么输出该城市的名字;如果IP地址不属于任何一个城市,那么输出字符串:none。