思路:这是一道非常简单的题目,直接用公式计算就好了。对于IP地址a.b.c.d,转换为十进制数就是(a<<24)|(b<<16)|(c<<8)|d。唯一要注意的就是这里需要用unsigned int来存数值。
AC代码:
1 #include <cstdio> 2 3 int main() 4 { 5 int n; 6 unsigned int a, b, c, d; 7 scanf("%d", &n); 8 while (n--) 9 { 10 scanf("%u.%u.%u.%u", &a, &b, &c, &d); 11 printf("%u\n", (a << 24) | (b << 16) | (c << 8) | d); 12 } 13 return 0; 14 }