关闭

华为OJ基础篇-合法IP

标签: C++
443人阅读 评论(0) 收藏 举报
分类:

现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如10.137.17.1,是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一个32数字)。
现在需要你用程序来判断IP是否合法。

bool panDuan(int num){
    if (num >= 0 && num <= 255)return true;
    else return false;
}
void hwOJ(){
    string ipv4 = "256.223.117.118";
    int ipPool[4] = { 0 };
    string tmp = "";
    stringstream ss;
    int ipd=0,k=0;
    int len = ipv4.length();
    bool f = true;
    for (int i = 0; i <len; ++i){
        if (ipv4[i] == '.'){ ss << tmp; ss >> ipd; ipPool[k++] = ipd; tmp.clear(); ss.clear(); }
        else
        {
            tmp.push_back(ipv4[i]);
        }
    }
    ss << tmp; ss >> ipd; ipPool[k++] = ipd;
    for (int i = 0; i < 4; ++i){
        if (panDuan(ipPool[i]) == false){ f = false; break; }
    }
    if (f)cout << "YES\n";
    else cout << "NO\n";
}
0
0
查看评论

华为oj 合法IP

这题需要判断的只有输入的数字是否在0-255之间,其它错误没有,所有这样就简单了,利用格式化输入直接或去4部分的值然后进行判断就可以了 #include using namespace std; int main() { int ip1, ip2, ip3, ip4; scanf_s(&qu...
  • grace_fool
  • grace_fool
  • 2016-03-07 10:00
  • 105

华为OJ合法IP

问题描述:现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如10.137.17.1,是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一个32数字)。现在需要你用程序来判断IP...
  • u014775175
  • u014775175
  • 2017-03-25 20:44
  • 155

华为OJ ----合法IP

题目: 现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如10.137.17.1,是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一个32数字)。 现在需要你用程序来判断...
  • wentionchyq
  • wentionchyq
  • 2014-07-31 10:59
  • 689

【华为 OJ 】合法IP

题目描述 现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如10.137.17.1,是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一个32数字)。 现在需要...
  • qq_23195213
  • qq_23195213
  • 2016-08-08 18:11
  • 247

华为OJ——合法IP

合法IP 题目描述 现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如10.137.17.1,是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一个32数字)。 现在需要你用程...
  • u010480899
  • u010480899
  • 2016-08-14 18:36
  • 181

【华为oj】合法ip

问题描述         现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如10.137.17.1,是我们非常熟悉的IP地址,一个IP地址串中没有空格出...
  • haoxiaodao
  • haoxiaodao
  • 2015-08-09 21:12
  • 710

华为OJ(合法IP)

题目:合法IP 这道题是“判断两个IP是否是同一子网”的子问题,可以用后者的segment函数即可解决,后面的问题详见另一篇博文:点击打开链接http://blog.csdn.net/yiqiwangxi/article/details/47361311 我写的代码比较简单,只考虑了IP中每8位...
  • yiqiwangxi
  • yiqiwangxi
  • 2015-08-16 19:16
  • 797

【华为OJ】合法IP

判断输入的ipv4地址是否合法 #include #include using namespace std; int main() { char str[100]; int a[4]; if (scanf_s("%d.%d.%d.%d", &a...
  • winnie_tan
  • winnie_tan
  • 2016-09-06 20:24
  • 76

华为oj 合法ip

#include #include #include #include #include using namespace std; bool islegal(string s) { vector ret; size_t last = 0; string delim("....
  • qz530308783
  • qz530308783
  • 2015-11-24 20:52
  • 304

华为OJ合法IP判断

#include #include #include //for atoi() using namespace std; void isValidIP(string ip); int main(){ string IP; getline(cin,IP); isVali...
  • muyimufeng
  • muyimufeng
  • 2015-09-10 11:53
  • 175
    个人资料
    • 访问:131623次
    • 积分:4105
    • 等级:
    • 排名:第8946名
    • 原创:290篇
    • 转载:4篇
    • 译文:0篇
    • 评论:3条
    博客专栏
    最新评论