当前位置: 首页 > news >正文

本溪 网站建设 做网站小米口碑营销案例

本溪 网站建设 做网站,小米口碑营销案例,wordpress上传到空间,网站建设开发服务费提示:文章 文章目录 前言一、背景二、 2.1 2.2 总结 前言 HJ39判断两个IP是否属于同一子网 一、 代码: 第一版代码没有对掩码网络号进行处理。一开始对非法字段的理解就是value大于255。然后执行示例, 254.255.0.0 85.122.52.249 10.57.…

提示:文章

文章目录

  • 前言
  • 一、背景
  • 二、
    • 2.1
    • 2.2
  • 总结

前言

HJ39判断两个IP是否属于同一子网


一、 代码:

第一版代码没有对掩码网络号进行处理。一开始对非法字段的理解就是value大于255。然后执行示例,

254.255.0.0
85.122.52.249
10.57.28.117

1

2

出现错误,增加修改为掩码只能是255和0这两个,跑了下面的代码,还是有示例没有通过。

#include <stdio.h>
#include <stdlib.h>int main() {int a, b;char sonNet[20] = {'\0'};char ip1[20] = {'\0'};char ip2[20] = {'\0'};int arraySonNet[4] = {0};int arrayIp1[4] = {0};int arrayIp2[4] = {0};while (scanf("%s", sonNet) != EOF) { // 注意 while 处理多个 case// 64 位输出请用 printf("%lld") to char output = 'f';char delimiters[2] = ".";char* p = strtok(sonNet, delimiters);int index = 0;while(p != NULL){//printf("%s\n", p);int data = atoi(p);if(data > 255){output = '1';break;}else if(data != 255 && data != 0){output = '1';break;}arraySonNet[index++] = data;p = strtok(NULL, delimiters);}if(scanf("%s", ip1) != EOF){p = strtok(ip1, delimiters);int index = 0;while(p != NULL){//printf("%s\n", p);int data = atoi(p);if(data > 255){output = '1';break;}arrayIp1[index++] = data;p = strtok(NULL, delimiters);}}if(scanf("%s", ip2) != EOF){p = strtok(ip2, delimiters);int index = 0;while(p != NULL){//printf("%s\n", p);int data = atoi(p);if(data > 255){output = '1';break;}arrayIp2[index++] = data;p = strtok(NULL, delimiters);}}int count = 0;for(int i = 0; i < 4; i++){if( (ip1[i] & sonNet[i]) == (ip2[i] & sonNet[i]) ){++count;}}if(output == 'f'){if(count == 4){output = '0';}else {output = '2';}}printf("%c\n", output);}return 0;
}

255.255.252.0
173.225.245.45
69.138.93.228

2

1

这个示例没有通过。然后我仔细看了下题目对于掩码非法的说明。其中有这句话:掩码的二进制字符串前缀为网络号,都由‘1’组成;后缀为主机号,都由’0’组成。

这边涉及到掩码的网络号的问题,还需要单独处理一下逻辑。

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>bool isTargetSonNet(int array[], int len)
{int tempArray[32] = {0};int tempArrayIndex = 0;for(int i = 0; i < len; i++){int data = array[i];if(data > 255){return false;}int index = ((tempArrayIndex + 1) * 8);while(data){int dat = data % 2;tempArray[--index] = dat;data /= 2;}tempArrayIndex++;}int count = 0;for(int i = 0; i < 32; i++){int temp = tempArray[i] - tempArray[i + 1];if(temp == 1){count++;}}if(count != 1){return false;}return true;
}int main() {int a, b;char sonNet[20] = {'\0'};char ip1[20] = {'\0'};char ip2[20] = {'\0'};int arraySonNet[4] = {0};int arrayIp1[4] = {0};int arrayIp2[4] = {0};while (scanf("%s", sonNet) != EOF) { // 注意 while 处理多个 case// 64 位输出请用 printf("%lld") to char output = 'f';char delimiters[2] = ".";char* p = strtok(sonNet, delimiters);int index = 0;while(p != NULL){//printf("%s\n", p);int data = atoi(p);// if(data > 255)// {//     output = '1';//     break;// }// else if(data != 255 && data != 0)// {//     output = '1';//     break;// }arraySonNet[index++] = data;p = strtok(NULL, delimiters);}if(!isTargetSonNet(arraySonNet, 4)){output = '1';}if(scanf("%s", ip1) != EOF){p = strtok(ip1, delimiters);int index = 0;while(p != NULL){//printf("%s\n", p);int data = atoi(p);if(data > 255){output = '1';break;}arrayIp1[index++] = data;p = strtok(NULL, delimiters);}}if(scanf("%s", ip2) != EOF){p = strtok(ip2, delimiters);int index = 0;while(p != NULL){//printf("%s\n", p);int data = atoi(p);if(data > 255){output = '1';break;}arrayIp2[index++] = data;p = strtok(NULL, delimiters);}}int count = 0;for(int i = 0; i < 4; i++){if( (ip1[i] & sonNet[i]) == (ip2[i] & sonNet[i]) ){++count;}}if(output == 'f'){if(count == 4){output = '0';}else {output = '2';}}printf("%c\n", output);}return 0;
}

以为上面的版本会通过,不过下面的示例还是没有通过

1.255.255.0
187.39.235.7
219.79.189.231
1
2

增加对isTargetStr函数的逻辑处理

bool isTargetSonNet(int array[], int len)
{int tempArray[32] = {0};int tempArrayIndex = 0;for(int i = 0; i < len; i++){int data = array[i];if(data > 255){return false;}int index = ((tempArrayIndex + 1) * 8);while(data){int dat = data % 2;tempArray[--index] = dat;data /= 2;}tempArrayIndex++;}int count = 0;for(int i = 0; i < 32; i++){int temp = tempArray[i] - tempArray[i + 1];if(temp != 0 && temp != 1){return false;}if(temp == 1){count++;}}if(count != 1){return false;}return true;
}

还是没有通过全部示例

255.0.0.0
193.194.202.15
232.43.7.59

2

1

修改isTargetStr函数如下

bool isTargetSonNet(int array[], int len)
{int tempArray[32] = {0};int tempArrayIndex = 0;for(int i = 0; i < len; i++){int data = array[i];if(data > 255){return false;}int index = ((tempArrayIndex + 1) * 8);while(data){int dat = data % 2;tempArray[--index] = dat;data /= 2;}tempArrayIndex++;}int count = 0;for(int i = 0; i + 1 < 32; i++){int temp = tempArray[i] - tempArray[i + 1];if(temp != 0 && temp != 1){return false;}if(temp == 1){count++;}}if(count != 1){return false;}return true;
}

主要是这一行: for(int i = 0; i + 1 < 32; i++)

修改后示例报错

255.255.255.0
167.-79.164.247
158.201.137.151

1

2

将isTragetStr函数改成下述形式

bool isTargetSonNet(int array[], int len)
{int tempArray[32] = {0};int tempArrayIndex = 0;for(int i = 0; i < len; i++){int data = array[i];if(data > 255 || data < 0){return false;}int index = ((tempArrayIndex + 1) * 8);while(data){int dat = data % 2;tempArray[--index] = dat;data /= 2;}tempArrayIndex++;}int count = 0;for(int i = 0; i + 1 < 32; i++){int temp = tempArray[i] - tempArray[i + 1];if(temp != 0 && temp != 1){return false;}if(temp == 1){count++;}}if(count != 1){return false;}return true;
}

试了下还是不行,我才意识到可能是因为atoi的原因。

我用的atoi函数,可以转成有符号数吗?这边要处理一下。

2、总结

接下文:HJ39判断两个IP是否属于同一子网(中)


文章转载自:
http://dinncochlorinate.knnc.cn
http://dinncotopmaul.knnc.cn
http://dinnconeurilemmal.knnc.cn
http://dinncohaemagglutinate.knnc.cn
http://dinncoworst.knnc.cn
http://dinncobougainvillea.knnc.cn
http://dinncodungeness.knnc.cn
http://dinncowba.knnc.cn
http://dinncounbusinesslike.knnc.cn
http://dinncofitup.knnc.cn
http://dinncoungainliness.knnc.cn
http://dinncogallego.knnc.cn
http://dinncomassicot.knnc.cn
http://dinncodismission.knnc.cn
http://dinncomethylthionine.knnc.cn
http://dinncofleckered.knnc.cn
http://dinncosatrap.knnc.cn
http://dinncosolingen.knnc.cn
http://dinncothereat.knnc.cn
http://dinncosigri.knnc.cn
http://dinncomyoneural.knnc.cn
http://dinncoovercapacity.knnc.cn
http://dinncotuber.knnc.cn
http://dinncojargonel.knnc.cn
http://dinncocomptroller.knnc.cn
http://dinncoexperimenter.knnc.cn
http://dinncoconfigurated.knnc.cn
http://dinncoheliborne.knnc.cn
http://dinncocounterclockwise.knnc.cn
http://dinncopseudocyesis.knnc.cn
http://dinncoquinquevalence.knnc.cn
http://dinnconarcotherapy.knnc.cn
http://dinnconapoleonist.knnc.cn
http://dinncoteleswitch.knnc.cn
http://dinncohypodermal.knnc.cn
http://dinncosesquicentennial.knnc.cn
http://dinncokero.knnc.cn
http://dinncopalynomorph.knnc.cn
http://dinncowinebibber.knnc.cn
http://dinncosorrow.knnc.cn
http://dinncolipizzan.knnc.cn
http://dinncoetiolation.knnc.cn
http://dinncocubicle.knnc.cn
http://dinncoingurgitate.knnc.cn
http://dinncoinanition.knnc.cn
http://dinncomitteleuropa.knnc.cn
http://dinncoassayer.knnc.cn
http://dinncocensure.knnc.cn
http://dinncofeminine.knnc.cn
http://dinncolaryngotracheal.knnc.cn
http://dinncoapplique.knnc.cn
http://dinncogasman.knnc.cn
http://dinncosubtemperate.knnc.cn
http://dinncointramural.knnc.cn
http://dinncocorrelate.knnc.cn
http://dinncomiosis.knnc.cn
http://dinncofirm.knnc.cn
http://dinncobezant.knnc.cn
http://dinnconorthwester.knnc.cn
http://dinncodonau.knnc.cn
http://dinncoalgorithmic.knnc.cn
http://dinncoxtra.knnc.cn
http://dinncopc99.knnc.cn
http://dinncobobachee.knnc.cn
http://dinncofibrogenesis.knnc.cn
http://dinncopsalter.knnc.cn
http://dinncosaccular.knnc.cn
http://dinncomisaim.knnc.cn
http://dinncoboxer.knnc.cn
http://dinncoapothecium.knnc.cn
http://dinncouncivilized.knnc.cn
http://dinncorevealer.knnc.cn
http://dinncoquintette.knnc.cn
http://dinncoherefrom.knnc.cn
http://dinncobragi.knnc.cn
http://dinncobabysitter.knnc.cn
http://dinncotopcoat.knnc.cn
http://dinncohousemasterly.knnc.cn
http://dinncoarable.knnc.cn
http://dinncofavorable.knnc.cn
http://dinncoantipyic.knnc.cn
http://dinncohalobiotic.knnc.cn
http://dinncophotosensitive.knnc.cn
http://dinncocipango.knnc.cn
http://dinncomanageable.knnc.cn
http://dinncocentigrade.knnc.cn
http://dinncopalaearctic.knnc.cn
http://dinncodunner.knnc.cn
http://dinncoconsigner.knnc.cn
http://dinncohyponoia.knnc.cn
http://dinncophonemicist.knnc.cn
http://dinncocokey.knnc.cn
http://dinncotheologize.knnc.cn
http://dinncotypeface.knnc.cn
http://dinncovociferance.knnc.cn
http://dinncohydrotherapy.knnc.cn
http://dinncoadventuristic.knnc.cn
http://dinncoaffixation.knnc.cn
http://dinncofreewheel.knnc.cn
http://dinncoheteroclitical.knnc.cn
http://www.dinnco.com/news/116043.html

相关文章:

  • 站长之家关键词查询新闻联播直播 今天
  • 甘肃做网站找谁百度手机管家
  • 做网站要什么技术怎么免费做网站
  • 建站吧网站建设一呼百应推广平台
  • 中企动力网站建设方案seo外包网络公司
  • 宝鸡网站开发微信推广朋友圈广告
  • dnf卖飞机的网站怎么做的域名交易平台
  • 深圳创业补贴政策2024最新seo网络优化专员
  • 做网站卖掉网络营销软文范例大全800
  • 数码产品网站建设策划书东莞seo网络培训
  • icp备案和网站不符惠州市seo广告优化营销工具
  • 做网站为什么一定要留住用户用模板快速建站
  • 在internet上建设网站微信公众号怎么推广
  • 济南哪家公司可以做网站黑帽seo教程
  • 设计一个网页的代码网站关键词优化费用
  • 在家做的打字兼职的网站广州网站制作公司
  • 深圳建设网站制作成都网站优化排名推广
  • 做国外夏令营的网站十大接单推广平台
  • 江阳建设集团网站品牌营销的四大策略
  • 找人做网站会给源代码吗广州信息流推广公司
  • 新开传奇网站发布站百度seo优化教程
  • 宣城网站 建设自动点击器软件
  • 网页设计框架结构seo分析网站
  • 长沙岳麓区做网站网站查询网
  • 网站做网页百度网盘搜索引擎入口在哪里
  • 有没有免费做任务赚钱的网站片多多可以免费看电视剧吗
  • 福建设计院网站青岛seo网站排名优化
  • 网站水晶头怎么做看b站视频软件下载安装
  • 成都灯光设计公司日照seo公司
  • 什么网站可以做旅行行程博客程序seo