文章

36

粉丝

505

获赞

55

访问

370.5k

头像
题解:IP地址
P1023 贵州大学机试题
发布于2020年2月23日 01:41
阅读数 14.6k

这题坑啊!题目竟然不告诉我合法的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];
	}
/////////////////////////////////////////////...
登录查看完整内容


登录后发布评论

5 条评论
蔡维锋
2023年3月15日 12:43

^-^

赞(0)

mzymzyo : 回复 蔡维锋: (`・ω・´)

2023年3月15日 17:12
Jeff_zhu VIP
2020年2月23日 21:34

感谢~~,这题坑点好多啊,哈哈哈哈devil

赞(0)

mzymzyo : 回复 Jeff_zhu: 对呀!

2020年2月23日 21:37
admin SVIP
2020年2月23日 14:38

yes

赞(0)