判断字符串是否为IP地址
思路:输入字符串的时候,把分隔符“.”读取出来,然后判断分隔符旁边的数字是否在0~~255之间,然后判断是否合法。
代码为:
#include<stdio.h>
#include<string.h>
int main(void)
{
char str[31],temp[31];
int a,b,c,d;
while(gets(str)!=NULL)
{
if(sscanf(str,"%d.%d.%d.%d",&a,&b,&c,&d))==4 && a>=0 && a<=255&& b>=0 && b<=255&& c>=0 && c<=255&& d>=0 && d<=255)
{
sprintf(temp,"%d.%d.%d.%d",a,b,c,d);
if(strcmp(temp,str)==0)
{
printf("YES\n");
}
else
{
printf("NO\n");
}
}
else
{
printf("NO\n");
}
}
return 0;
}
3971

被折叠的 条评论
为什么被折叠?



