题目描述
输入一个 ip 地址串,判断是否合法。
一个合法的 ip 地址串,其形式为 a.b.c.d,其中 a,b,c,d 都是 0∼255 的整数。
输入格式
输入包含多组测试数据。
每组数据占一行,包含一个 ip 地址,ip 地址的形式为 a.b.c.d,其中 a、b、c、d 都是整数。
输出格式
每组数据输出一行,一个答案,如果输入地址合法,则输出 Yes!,否则输出 No!。
数据范围
每组输入最多包含 100 组数据。
a,b,c,d 均不超过 int 范围。
样例
输入样例:
255.255.255.255
512.12.2.3
输出样例:
Yes!
No!
C++ 代码
#include <iostream>
using namespace std;
bool check(int x) // 判断输入整数是否合法
{
if(x>=0 && x<=255) return true;
else return false;
}
int main()
{
int a,b,c,d;
while(~scanf("%d.%d.%d.%d",&a,&b,&c,&d)) // 多次输入数据
{
if(check(a) && check(b) && check(c) && check(d)) cout<<"Yes!"<<endl;
else cout<<"No!"<<endl;
}
return 0;
}
第七行我感觉无需写else return false;因为条件一旦为真就已经返回了