这题需要判断的只有输入的数字是否在0-255之间,其它错误没有,所有这样就简单了,利用格式化输入直接或去4部分的值然后进行判断就可以了
#include <iostream>
using namespace std;
int main()
{
int ip1, ip2, ip3, ip4;
scanf_s("%d.%d.%d.%d",&ip1,&ip2,&ip3,&ip4);
if ((ip1 >= 0 && ip1 <= 255) && (ip2 >= 0 && ip2 <= 255) && (ip3 >= 0 && ip3 <= 255) && (ip4 >= 0 && ip4 <= 255))
{
cout << "YES" << endl;
}
else
{
cout << "NO" << endl;
}
return 0;
}