文章
67
粉丝
207
获赞
29
访问
36.7k
一开始不知道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...
登录后发布评论
暂无评论,来抢沙发