解题思路:
注意事项:
参考代码:
#include <stdio.h>
#include <string.h>
int change(char *s)
{
int m=0;
if(strlen(s)==1)
{
if(s[0]>'9'||s[0]<'0')
m=1000;
else
m=s[0]-'0';
}
else if(strlen(s)==2)
{
if(s[0]>'9'||s[0]<'0'||s[1]>'9'||s[1]<'0')
m=1000;
else
m=10*(s[0]-'0')+s[1]-'0';
}
else
{
if(s[0]>'9'||s[0]<'0'||s[1]>'9'||s[1]<'0'||s[2]>'9'||s[2]<'0')
m=1000;
else
m=100*(s[0]-'0')+10*(s[1]-'0')+s[2]-'0';
}
return m;
}
int main()
{
char s[30],temp[30];
int result,i,j,end,step=0,start,flag=0,k=0,point,time=0;
while(gets(s)&&strcmp(s,"End of file"))
{
for(i=0;s[i]!='\0';i++)
{
point=0;
step++;
if(s[i]=='.'||((time==3)&&(s[i+1]=='\0')))
{
time++;
point=1;
if(step==0)
{
flag=1;
break;
}
end=i;
start=end-step+1;
step=0;
}
if(point)
{
for(j=start;j<end;j++)
{
temp[k++]=s[j];
temp[k]='\0';
}
result=change(temp);
if(result<0||result>255)
{
flag=1;
break;
}
k=0;
}
}
if(flag)
printf("N\n");
if(flag==0)
printf("Y\n");
}
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复