70pts地址检查错误求助
查看原帖
70pts地址检查错误求助
226686
Herobrine6265楼主2021/11/14 10:12

rt
检查地址是否合法的代码块如下
评测记录

bool check(string ad)
{
    bool con=0;
    int juhao=0,maohao=0,sum=0;
    ad=" "+ad;
    for(int j=1;j<ad.length();j++)
    {
        if(sum==0&&ad[j]=='0'&&ad[j-1]=='0')
        {
            con=1;
            break;
        }
        if(juhao>3||maohao>1||(juhao!=3&&maohao>0))
        {
            con=1;
            break;
        }
        if(ad[j]=='.')
        {
            juhao++;
            if(sum>255||!(ad[j-1]>='0'&&ad[j-1]<='9'))
            {
                con=1;
                break;
            }
            sum=0;
        }
        else if(ad[j]==':')
        {
            maohao++;
            if(sum>255||!(ad[j-1]>='0'&&ad[j-1]<='9'))
            {
                con=1;
                break;
            }
            sum=0;
        }
        else if(ad[j]>='0'&&ad[j]<='9')
        {
            sum*=10;
            sum+=ad[j]-'0';
        }
        else
        {
            con=1;
            break;
        }
    }
    if(sum>65535||juhao!=3||maohao!=1)con=1;
    return con;
}
2021/11/14 10:12
加载中...