当前位置:乐求学 >

好好学习 >考研 >

求最大连续递增数字串

求最大连续递增数字串

int GetSubString(char *strSource, char *strResult) {

求最大连续递增数字串

int iTmp=0, iHead=0, iMax=0;

for(int Index=0, iLen=0; strSource[Index]; Index++) {

if(strSource[Index] >= ’0′ && strSource[Index] <= ’9′ &&

strSource[Index-1] > ’0′ && strSource[Index] == strSource[Index-1]+1) {

iLen++; // 连续数字的.长度增1

} else { // 出现字符或不连续数字

if(iLen > iMax) {

iMax = iLen; iHead = iTmp;

}

// 该字符是数字,但数字不连续

if(strSource[Index] >= ’0′ && strSource[Index] <= ’9′) {

iTmp = Index;

iLen = 1;

}

}

}

for(iTmp=0 ; iTmp < iMax; iTmp++) // 将原字符串中最长的连续数字串赋值给结果串

strResult[iTmp] = strSource[iHead++];

strResult[iTmp]=’′;

return iMax; // 返回连续数字的最大长度

}

int main(int argc, char* argv[]) {

char strSource[]=”ads3sl456789DF3456ld345AA”, char strResult[sizeof(strSource)];

printf(“Len=%d, strResult=%s nstrSource=%sn”,

GetSubString(strSource, strResult), strResult, strSource);

}

标签: 递增 数字串
  • 文章版权属于文章作者所有,转载请注明 https://m.leqiuxue.com/kywx/3qkwyx.html