zoukankan      html  css  js  c++  java
  • 题目1203:IP地址

    题目:

    http://ac.jobdu.com/problem.php?pid=1203

    时间限制:1 秒

    内存限制:32 兆

    特殊判题:

    提交:3052

    解决:1504

    题目描述:

        输入一个ip地址串,判断是否合法。

    输入:

        输入的第一行包括一个整数n(1<=n<=500),代表下面会出现的IP地址的个数。
        接下来的n行每行有一个IP地址,IP地址的形式为a.b.c.d,其中a、b、c、d都是整数。

    输出:

        可能有多组测试数据,对于每组数据,如果IP地址合法则输出"Yes!”,否则输出"No!”。

    样例输入:
    2
    255.255.255.255
    512.12.2.3
    样例输出:
    Yes!
    No!
    提示:

    合法的IP地址为:
    a、b、c、d都是0-255的整数。

    来源:
    2006年华中科技大学计算机保研机试真题
    答疑:
      解题遇到问题?分享解题心得?讨论本题请访问:http://t.jobdu.com/thread-7926-1-1.html
    代码:
    #include <cstdio>
    #include <cstdlib>
    using namespace std;
    bool check_valid(char *str){
        int count = 0;
        char *begin = str;
        bool end_flag = false;
        for(char *p = str; !end_flag; ++p){
            if('.' == *p || '' == *p){
                if(*p == ''){
                    end_flag = true;
                }
                if(p <= begin){
                    return false;
                }
                *p = '';
                long n = strtol(begin, &p, 10);
                if(n > 255 || n < 0){
                    return false;
                }
                begin = p + 1;
                ++count;
                if(count > 4){
                    return false;
                }
            }
        }
        return count == 4;
    }
    
    int main() {
        int n = 0;
        while(scanf("%d
    ", &n) != EOF && n > 0){
            char str[256] = {0};
            for(int i = 0; i < n; ++i){
                scanf("%s", str);
                printf("%s
    ", check_valid(str) ? "Yes!" : "No!");
            }
        }
        return 0;
    }
    

      

  • 相关阅读:
    超酷图片压缩工具,就是不支持批量
    eclipse java热加载
    mysql 突然报错,连接不上
    svn问题终极解决办法
    svn经常困扰我的问题
    洛谷 P3628
    CodeForces 1091H
    委托的实际应用
    WPF 小知识点001
    C# 扩展方法一
  • 原文地址:https://www.cnblogs.com/moxiaopeng/p/5079099.html
Copyright © 2011-2022 走看看