文章

67

粉丝

207

获赞

29

访问

36.7k

头像
IP地址 题解:新手易懂方法+易错总结
推荐阅读
P1023 贵州大学机试题
发布于2024年2月23日 18:38
阅读数 965

一开始不知道ip地址什么意思,看了个题解的解释以及易错点,一遍过的。

因为水平比较菜代码看着多,好多都基本一样复制粘贴加改一点的

思路:

1.合法的ip地址就是         数字1.数字2.数字3.数字4     数字的范围是0-255,其他都不对

2.这里用 4个大的嵌套if else,数字输入后要用一个数记录其位数(如果是三位的要判断大小  小于256),用四个数记录这四个数字

3.之后根据得到的位数判断下一个字符是不是'.',   如果不是直接return 0

4.将这四个数字分别转换为16进制输出就好了(每个数字无论大小必占两位),如果是0.0.0.0 输出 0x00000000

#include<iostream>
using namespace std;

int main(){
	
	char a[1000];
long long int b=0,num=0,sum=0;
	for(int i=0;i<1000;i++){
		a[i]=0;
	
	}
	gets(a);
	int d=0,flag=0,c1=0,c2=0,c3=0,c4=0;
//第1组数字=========================================
	if(a[0]>='0'&&a[0]<='9'){
	if(a[1]>='0'&&a[1]<='9'){
    if(a[2]>='0'&&a[2]<='9'){
    num=(a[0]-'0')*100+(a[1]-'0')*10+(a[2]-'0');
    if(num>255)//至少有三位数字但过大了
	flag=1;
	else{ 
					   c1+=(a[0]-'0')*100;
					    c1+=(a[1]-'0')*10;
					    c1+=(a[2]-'0');
					   sum=3;
	}
	}   
	el...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发