zoukankan      html  css  js  c++  java
  • C语言网蓝桥杯1116 IP判断

    判断IP地址的合法性,

    1.不能出现除数字和点字符以外的的其他字符

    2.数字必须在0-255之间,要注意边界。

    题目分析:

    因为一个IP是又四个数字组成,且可能存在符号和其他字符,故不能用整型数组处理,应该用字符串的形式存储,

    将字符串分为四个部分,逐一处理。

    代码如下:

    #include<stdio.h>
    #include<string.h>
    int main()
    {
     char a[35];
     while(scanf("%s",a)!=EOF)//多组输入字符串,直至文件的末尾
     {
      char b[30];
      int i=0,j,n=4,flag=0;
      while(n--)//将字符串分为四组进行处理
      {
       int sum=0,number=1,j=0,l,str;
       str=strlen(a);//调用函数算出字符串的长度
       for(;i<=str-1;i++)
       {
        if(a[i]=='.')//用小数点作为每部分的分隔符
        break;
        if(a[i]>='0'&&a[i]<='9')//判断是否都为数字
        {
          b[j]=a[i];
          j++;
        }
        else
        {
         flag=1;
         break;
        }
       }
       i++;//注意i加一,跳过小数点的处理
       if(flag==1)//用标志位进行逐次跳出循环
       {
           break;
          }
       for(l=j-1;l>=0;l--)
        {
         sum= sum + (b[l]-'0') * number;//将字符形式的数字转化为整型数字。
         number = number * 10;
        }
        if(sum <=255 && sum>=0)//判断数字的大小是否符合
         flag=0;
        else
         flag=1;
                if(flag==1)
                {
       break;
          }
      }
      if(flag==0)
      printf("Y ");
      if(flag==1)
      printf("N ");
     }
     return 0;
    }

  • 相关阅读:
    一个简单的PHP登录演示(SESSION版 与 COOKIE版)
    web系统之session劫持解决
    CKFinder 1.4.3 任意文件上传漏洞
    linux服务器磁盘扩容的方法
    Linux下lvm在线扩容步骤
    Centos7使用LVM扩容磁盘(测试成功)
    CentOS7下利用init.d启动脚本实现tomcat开机自启动
    Linux tomcat安装详解(未完)
    linux下 目录(扩容)挂载磁盘
    Linux下环境变量设置
  • 原文地址:https://www.cnblogs.com/cong12586/p/10544107.html
Copyright © 2011-2022 走看看