题解 | #合法IP#

合法IP

https://www.nowcoder.com/practice/995b8a548827494699dc38c3e2a54ee9

#include <stdio.h>
#include <string.h>

int IPv4_verify(char *ip);

int main() {
    char str[18]={0};
    
    scanf("%s", str);
    int flag = IPv4_verify(str);
    
    if(flag)
            printf("YES\n");
    else
        printf("NO\n");
    return 0;
}
int IPv4_verify(char *ip)
{
    int c[4] = {-1};
    int count[4] = {0};

    int n = strlen(ip);

    if(4 == sscanf(ip,"%d.%d.%d.%d", c, c+1, c+2, c+3) )
    {
        for(int i = 0; i<4; i++)
        {
            if(c[i]<=255 && c[i] >=0)
            {
                int temp = c[i];
                if(temp == 0)
                {
                    count[i] = 1;
                }
                else {
                    while(temp > 0){  //求数字长度
                        count[i]++;
                        temp = temp/10;
                    }
                }
            }
            else {
                return 0;
            }
        }

        int sum = 0;  //注意对01.3.8.4为No,通过判断位数与长度是否相等来确定
        for(int i = 0; i<4; i++)
        {
            sum += count[i] + 1;
        }
        if( sum - 1 != n )
        {
            return 0;
        }
       return 1;
    }
    else 
        return 0;

}

全部评论

相关推荐

Ryan188:我觉得你简历最核心的问题就是太大众化。 你要有一个认知就是,如果你是面试官,你是HR,其实他们每天都会收到非常多大量重复的像你这种简历。 就是说你的项目不是一个真实的上线的项目,可能是从网上学习而来的,或者是直接copy别人的项目,没有新意,没有展现出你自己对技术的思考,而且你的学历也不占优,自然而然就很难有人去选择你。 所以要做的实际上是差异化方向的工作,也就是“给我一个选择你的理由”,比如最近很火的ai,你可以写一个ai相关项目比如问答应用或者mcp编写或者agent搭建,需要你先花点时间学习,34天吧,展现你对这方面相较于其他人特有的思考; 或者写相关技术博客输出一些技术内容,有具体可以量化的成果等等去增加你的竞争力。 但以上这些都是后话,我去年在你这个时候也是没人理我,咱们双非学历也没实习,难找也正常,我当时整个3月份都没人鸟我,直到有个新招的岗位,很缺人很急,流程很快,所以我一下子进去了,所以运气方面也很重要,需要你一直坚持喝复盘,直到看到光明,加油兄弟
简历被挂麻了,求建议
点赞 评论 收藏
分享
03-01 21:45
中北大学 Python
孤蓝长空:请你说一下为什么你用websocket而不是http,请你说一下什么是rpc,为什么用rpc,你的rpc的传输协议是JSON,xml还是什么 请你描述一下你的鉴权流程(完整的) 我问的是第二个项目,随便问的哈哈哈
开工第一帖
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务