zoukankan      html  css  js  c++  java
  • 【HDOJ】2206 IP的计算

    题目很简单,情况有很多种。

     1 #include <stdio.h>
     2 #include <string.h>
     3 
     4 char buf[105];
     5 
     6 int isIPaddr(char buf[]) {
     7     int i, j, k, tmp, len;
     8 
     9     len = strlen(buf);
    10     if (len > 15)
    11         return 0;
    12 
    13     j = -1;
    14     k = 0;
    15     for (i=0; i<len; ++i) {
    16         if (buf[i] == '.') {
    17             ++k;
    18             tmp = i-j;
    19             if ( !(tmp==2||tmp==3||tmp==4) )
    20                 return 0;
    21             j = i;
    22         } else if (buf[i]>='0' && buf[i]<='9')
    23             /*nop*/;
    24         else
    25             return 0;
    26     }
    27     if (k != 3)
    28         return 0;
    29     tmp = 0;
    30     for (i=0; i<len; ++i) {
    31         if (buf[i] == '.') {
    32             if (tmp<0 || tmp>255)
    33                 return 0;
    34             tmp = 0;
    35         } else {
    36             tmp = 10*tmp + buf[i]-'0';
    37         }
    38     }
    39     if (tmp>=0 && tmp<256)
    40         return 1;
    41     else
    42         return 0;
    43 }
    44 
    45 int main() {
    46     while (gets(buf) != NULL) {
    47         if (isIPaddr(buf))
    48             printf("YES
    ");
    49         else
    50             printf("NO
    ");
    51     }
    52 
    53     return 0;
    54 }
  • 相关阅读:
    实验四 主存空间的分配和回收
    学期总结
    实验三 进程调度模拟程序
    团队项目
    博客参考评论
    dos系统
    学习进度条
    了解和熟悉操作系统
    问题的思考和回答
    Python-关于脚本和冒泡算法
  • 原文地址:https://www.cnblogs.com/bombe1013/p/3680096.html
Copyright © 2011-2022 走看看