求最大连续递增数字串
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]=’\0′;
return iMax; // 返回连续数字的最大长度
}
int main(int argc, char* argv[]) {
char strSource[]=”ads3sl456789DF3456ld345AA”, char strResult[sizeof(strSource)];
printf(“Len=%d, strResult=%s \nstrSource=%s\n”,
GetSubString(strSource, strResult), strResult, strSource);
}
【求最大连续递增数字串】相关文章:
关于文字自动递增的CAD教程12-04
房屋租赁递增合同范本2篇02-06
报酬递增思想的演进机理研究论文08-13
连续观察日记20010-28
连续观察日记格式08-23
分析养老金空账递增的形成原因09-19
韩国留学生正在以每年25%的速度递增09-14
连续观察泡豆子日记01-13
日语学习之连续副词08-12