文章
36
粉丝
505
获赞
55
访问
372.5k
这题坑啊!题目竟然不告诉我合法的ip地址有什么规则,我还是自己百度出来的!!!
而且此题细节极多,发了好几遍题解慢慢改进才过了。。。
合法的ip地址规则:
1.ip地址只由数字和‘.’组成
2.ip地址有且只有4段数字,格式为 a.b.c.d
2.每一段的数字只能在0~255里面
我遇到的bug,掉进去的坑:
1:有点连起来的是不行的!
比如192..1.1
2.最后结果转成16进制的格式是要补0的!
比如9.9.9.9的答案是0x09090909,并不是0x9999
3.最后答案的字母要大写!
代码分了好几段,每段的目的非常明显,很容易看懂
#include
#include
using namespace std;
int stox(string s)//将字符转相应数字
{
int x = 0;
for (int i = 0; i < s.length(); i++)
x = x * 10 + int(s[i] - '0');
return x;
}
int main()
{
string s, num_s[1000];
int num_x[4], n = 0, flag = 0;//flag记录是否合法,0表示合法,1表示不合法
cin >> s;
//////////////////////////////////////////////////////////////////////////
for (int i = 0; i < s.length(); i++)
{
if ((s[i] > '9' || s[i] < '0') && s[i] != '.')
flag = 1;//符号不对,结束
if (s[i] == '.')
n++;
else
num_s[n] = num_s[n] + s[i];
}
/////////////////////////////////////////////...
登录后发布评论
^-^
感谢~~,这题坑点好多啊,哈哈哈哈