解题思路:
1.本题就是将整个ip地址当字符串看,这样用.去当结束判断一个数的标志。
2.比较数是否在范围内,其实比较相应的ascii就可以了。
参考代码:
#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分
3 人评分
输出九九乘法表 (C语言代码)浏览:547 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:1034 |
简单的a+b (C语言代码)浏览:676 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:669 |
哥德巴赫曾猜测 (C语言代码)浏览:955 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:621 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:574 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:504 |
三角形 (C++代码)记忆化搜索浏览:1208 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:261 |