多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > 綜合技術 > 華為OJ測試題――判斷輸入的字符串是不是一個有效的IP地址(附世上最全測試數(shù)據(jù))

華為OJ測試題――判斷輸入的字符串是不是一個有效的IP地址(附世上最全測試數(shù)據(jù))

來源:程序員人生   發(fā)布時間:2015-05-04 09:47:27 閱讀次數(shù):3919次

題目標題:

  • 判斷輸入的字符串是否是1個有效的IP地址

 

詳細描寫:

請實現(xiàn)以下接口

boolisIPAddressValid(constcharpszIPAddr)

輸入:pszIPAddr 字符串

輸出:true 有效的IP地址,false,無效的IP地址

 

束縛

  1. 輸入IP為XXX.XXX.XXX.XXX格式

  2. 字符串兩端含有空格認為是合法IP

  3. 字符串中間含有空格認為是不合法IP

  4. 類似于 01.1.1.1, 1.02.3.4  IP子段以0開頭為不合法IP

  5. 子段為單個0 認為是合法IP,0.0.0.0也算合法IP


這個題目也非常簡單,但是我們的代碼經不住測試,為何呢,由于這個格式要求默許有很多,我們要做仔細人!

給出多組測試數(shù)據(jù):

/**********************************

NULL

0.0.0.0

01.2.0.6

255.2.256.0

256.22.234

34 .45.345.6

 2. 3.3.3

 0.1.0.0 

00.00.32.67

**********************************/

下面給出代碼,歡迎補充!

#include "IPAddressValid.h" #include<iostream> using namespace std; #include "IPAddressValid.h" #include <cstring> #include <iostream> #include <cstdio> using namespace std; bool isIPAddressValid(const char* pszIPAddr) { if(pszIPAddr==NULL || pszIPAddr=="") return false; // 請在此處實現(xiàn) int slen=strlen(pszIPAddr); // cout<<slen<<endl; int i,j,k,m,n,sum; int sublen[10]; const char *ss=pszIPAddr; <span style="white-space:pre"> </span>
<span style="white-space:pre"> </span>//去除頭尾空格 for(i=0;i<slen && ss[i]==' ';i++); if(i==slen)return false; for(j=slen⑴;j>=0 && ss[j]==' ';j--); if(j==0)return false; if(i>=j)return false;
<span style="white-space:pre"> </span>//判斷字符串中間是不是有空格,如果有則false for(k=i;k<j;k++) if(ss[k]==' ')return false; // cout<<i<<" "<<j<<endl;
<span style="white-space:pre"> </span>//記錄字符串出現(xiàn)的‘.',如果點出現(xiàn)在第1個字符或相鄰的元素也是點則false m=0; for(k=i;k<=j;k++) { if(ss[k]=='.') { sublen[m++]=k; if(k==i || k==j) return false; if(ss[k+1]=='.')return false; } }
<span style="white-space:pre"> </span>//如果點數(shù)不是3個則false if(m!=3)return false; sublen[m++]=j+1; //for(k=1;k<m;k++) // if((sublen[k]-sublen[k⑴])>4)return false; // for(k=0;k<m;k++) // cout<<sublen[k]<<" "; // cout<<endl;
<span style="white-space:pre"> </span>//判斷各子段是不是為0開頭,如果是則判斷是否是本子段只有0,如果不是則false n=0;k=i; while(n<m){ // for(k=i;k<sublen[n] && ss[k]=='0';k++); // if(ss[k]!='0' && k<sublen[n] && k>i)return false; if(ss[k]=='0') { if(k+1<slen && ss[k+1]!='.')return false; } k=sublen[n]+1; n++; }
<span style="white-space:pre"> </span>//判斷各子段轉化的整數(shù)是不是在0~255之間,如果不是則false n=0; while(n<m){ sum=0; for(k=i;k<sublen[n];k++) { if(ss[k]<'0' || ss[k]>'9')return false; sum=sum*10+ss[k]-'0'; } if(sum>255)return false; i=sublen[n]+1; n++; } return true; }



生活不易,碼農辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 精品精品国产高清a毛片牛牛 | 欧美日韩第三页 | 国产精品久久久久久久免费大片 | 伊人久久大香线蕉资源 | 欧美激情精品久久久久 | 最近中文字幕大全2019 | 欧美人成片免费看视频不卡 | 国产视频久久久 | 国产成人精品日本亚洲专一区 | 亚洲情a成黄在线观看动 | 色人阁网站 | 国产xxxxx | 亚洲视频在线一区二区三区 | 法国18sexxxx性xxx | 精品国产免费福利片 | 18videosex性欧美69超高清 | 五月激情丁香婷婷综合第九 | 午夜亚洲一区二区福利 | 最近最新中文字幕免费1 | 噜噜嘿在线视频免费观看 | 日本一区二区视频在线观看 | 最新69成人精品毛片 | 日本理论午夜中文字幕第一页 | 国产91久久精品一区二区 | 欧美人与牲动交xxxx | 韩国春性xxxx猛交 | 国产精品久久一区 | 欧美一区二区三区在线观看不卡 | 日韩精品国产自在久久现线拍 | 91久久精品国产亚洲 | 国产乱码精品一区二区三区四川 | 秋霞网亚洲成a人片 | 久久久久久久国产精品 | 一级做a爰性色毛片 | 色去也| 国产国拍亚洲精品av | 狠狠se| 亚洲欧美一区二区视频 | 波多野结衣啪啪 | 午夜老司机免费视频 | 午夜视频免费观看 |