华为机试HJ90:合法IP

简介: 华为机试HJ90:合法IP

题目描述:

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


现在需要你用程序来判断IP是否合法。


注意本题有多组样例输入。


输入描述:

输入一个ip地址,保证是xx.xx.xx.xx的形式(xx为整数)

输出描述:

返回判断的结果YES or NO

示例:

输入:

10.138.15.1

255.0.0.255

255.255.255.1000


输出:

YES

YES

NO

解题思路:

这题是字符串分析题。截取字符串IP的四个数字,并判断其是否符合数值合理区间即可。

测试代码:

#include <iostream>
#include <string>
#include <bitset>
#include <vector>
using namespace std;
string analyze(string str)
{
    string temp;
    int k=0;
    for(int i=0;i<str.size();++i)
    {
        if(str[i]=='.')
        {
            temp=str.substr(k,i-k);
            k=i+1;
            int t=stoi(temp);
            if(t<0||t>255)
                return "NO";
        }
    }
    temp=str.substr(k,str.size()-k);
    int t=stoi(temp);
    if(t<0||t>255)
        return "NO";
    return "YES";
}
int main()
{
    string str;
    while(getline(cin,str))
    {
        cout<<analyze(str)<<endl;
    }
    return 0;
}


相关文章
|
2月前
【JiuDu OJ 04】what day is Date?
【JiuDu OJ 04】what day is Date?
49 0
华为机试HJ103:Redraiment的走法
华为机试HJ103:Redraiment的走法
191 2
|
测试技术
华为机试HJ74:参数解析
华为机试HJ74:参数解析
|
测试技术
华为机试HJ85:最长回文子串
华为机试HJ85:最长回文子串
[USACO 2010 Feb S]Chocolate Eating
[USACO 2010 Feb S]Chocolate Eating
POJ 2027 No Brainer
POJ 2027 No Brainer
114 0
POJ 1067 取石子游戏
取石子游戏 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 40917   Accepted: 13826 Description 有两堆石子,数量任意,可以不同。
1121 0
|
人工智能 BI
poj-3185-开关问题
描述   牛一行20他们喝的水碗。碗可以那么(面向正确的为清凉水)或颠倒的(一个位置而没有水)。他们希望所有20个水碗那么,因此用宽鼻子翻碗。   嘴太宽,他们不仅翻转一碗还碗的碗两侧(总共三个或三个——在两端的情况下碗——两碗)。
815 0
|
JavaScript