题目描述
我们都学过计算机网络,了解IPV4地址的点分十进制表示法。
你的任务很简单:判断一个字符串是否是一个合法的点分十进制表示的IPV4地址。
最低的IP地址是0.0.0.0,最高的IP地址是255.255.255.255。
PS :方便起见,认为形似00.00.00.00的IP地址也是合法的。
输入格式
第一行是一个整数T,代表输入还剩下T行
以下的T行,每行都是一个字符串(不含空白字符)。字符串的长度保证不超过15,不小于1.
输出格式
对于每个字符串,输出一行。
如果它是一个合法的IPV4地址,输出Yes。
否则,输出No。
输入样例
3
59.64.130.18
f.a.t.e
1.23.45.678
输出样例
Yes
No
No
2012网研机试题
#include #include #include #define MAXN 20 main() { int t, a, b, c, d; char s[MAXN], k; scanf("%d", &t); while (t--) { scanf("%s", s); k = 0; if (sscanf(s, "%d.%d.%d.%d%c", &a, &b, &c, &d, &k) == 4) { if (k == 0 && 0 <= a && a <= 255 && 0 <= b && b <= 255 && 0 <= c && c <= 255 && 0 <= d && d <= 255) puts("Yes"); else puts("No"); } else puts("No"); } return 0; }