1569 - IP地址

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 32 MB

输入一个ip地址串,判断是否合法。

题目输入

输入的第一行包括一个整数n(1<=n<=500),代表下面会出现的IP地址的个数。

    接下来的n行每行有一个IP地址,IP地址的形式为a.b.c.d,其中a、b、c、d都是整数。

题目输出

可能有多组测试数据,对于每组数据,如果IP地址合法则输出"Yes!”,否则输出"No!”。

输入/输出样例

输入格式

2
2.3.6.6
0.3.333.6

输出格式

Yes!
No!

C语言解答

#include <stdio.h>


int main()
{
int i,n,a,b,c,d;
while(scanf("%d",&n)!=EOF)
{
   for(i=0;i<n;i++)
   {
     scanf("%d.%d.%d.%d",&a,&b,&c,&d);
     if((a<0||a>255)||(b<0||b>255)||(c<0||c>255)||(d<0||d>255))
        printf("No!\n");
     else
        printf("Yes!\n");
   }
  
}
return 0;
}

C++解答

#include<stdio.h>

int main()
{
    int n,a,b,c,d;
    while(scanf("%d",&n)!=EOF)
    {
        while(n--)
        {
            scanf("%d.%d.%d.%d",&a,&b,&c,&d);
            if(a>=0&&a<=255&&b>=0&&b<=255&&c>=0&&c<=255&&d>=0&&d<=255)
                printf("Yes!\n");
            else
                printf("No!\n");
        }
    }
    return 0;
}

Java解答

import java.io.IOException;  
import java.io.FileReader;  
import java.io.BufferedReader;  
import java.io.InputStreamReader;  
import java.util.Scanner;  
import java.lang.Comparable;  
import java.util.PriorityQueue;  
  
class Main  
{  
    public static final boolean DEBUG = false;  
      
    public static void main(String[] args) throws IOException   
    {  
        Scanner cin;  
        int n;  
          
        if (DEBUG) {  
            cin = new Scanner(new FileReader("d:\\OJ\\uva_in.txt"));  
        } else {  
            cin = new Scanner(new InputStreamReader(System.in));  
        }  
          
        n = cin.nextInt();  
        while (n-- > 0) {  
            String s = cin.next();  
            String[] str = s.split("\\.");  
              
            boolean flag = true;  
            for (int i = 0; i < str.length && flag; i++) {  
                int tmp = Integer.valueOf(str[i]);  
                if (tmp < 0 || tmp > 255) {  
                    flag = false;  
                    break;  
                }  
            }  
            if (flag) System.out.println("Yes!");  
            else System.out.println("No!");  
              
        }  
    }  
} 

Python解答

# coding=utf-8
n=int(input())
for i in range(n):
    a,b,c,d=map(int,input().split('.'))
    if 0<a<=255 and 0<=b<=255 and 0<=c<=255 and 0<=d<=255:
        print('Yes!')
    else:
        print('No!')