1116
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int check(char x[])
{
int i,j=0,k=0;
char num[10][10];
for(i=0;x[i]!='\0';i++)
{
if(!(x[i]<='9'&&x[i]>='0'||x[i]=='.'))
return 0;
if(x[i]!='.') //还没到下个数
num[j][k++]=x[i];
else //说明马上就要到下个数了
{
if(num[j][0]=='0'&&k!=1) //如果第一个数是0,直接结束,判断不符合要求
return 0; //如果就是0.其实也是满足的,就是k=1,且值为0的情况
k=0; //初始化
j++; //换到下一个数
}
}
for(j=0;j<4;j++)
{
if(!(atoi(num[j])>=0&&atoi(num[j])<=255)) //满足0到255
return 0;
}
return 1;
}
int main(){
char x[30];
while(scanf("%s",x)!=EOF) //接收
{
printf("%c\n",check(x)?'Y':'N'); //调用函数判断
}
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复