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语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:629 |
兰顿蚂蚁 (C++代码)浏览:1097 |
程序员的表白 (C语言代码)浏览:667 |
淘淘的名单 (C语言代码)浏览:1104 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:648 |
a+b浏览:433 |
简单的a+b (C语言代码)浏览:546 |
循环入门练习6 (C语言代码)浏览:970 |
链表数据求和操作 (C语言代码)浏览:952 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:723 |