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语言代码)浏览:1319 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:515 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:623 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:595 |
简单的a+b (C语言代码)浏览:530 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:574 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:786 |
WU-输出九九乘法表 (C++代码)浏览:1668 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:519 |
C二级辅导-等差数列 (C语言代码)浏览:695 |