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\n");
if(flag==1)
printf("N\n");
}
return 0;
}
最新文章
- golang struct扩展函数参数命名警告
- CSS背景 顶上 顶下之类详解
- JS-DOM对象知识点汇总(慕课)
- C语言动态内存分配
- TabControl控件的DrawItem事件怎么注册
- 超链接的那些事(二): 属性href
- iOS-(kCFStreamErrorDomainSSL, -9802)
- nodejs学习笔记之mongoDB
- js判断图片上传时的文件大小,和宽高尺寸
- HDU 5536 Chip Factory 字典树+贪心
- php文件上传之单文件上传
- 实现一个Memcpy函数:将源指针所指的区域从起始地址开始的n个字节复制到目的指针所指区域
- erlang 初体验
- 微信公众平台开发实战Java版之如何网页授权获取用户基本信息
- break 与 continue
- 201771010118《面向对象程序设计(java)》第四周学习总结
- flagr 数据库配置
- [SP1043] GSS1 - Can you answer these queries I
- 全文检索 -- Solr从概念到实战(一)
- 前后端分离项目,标准json协议格式参考