#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<cstring>
using namespace std;
int GetMaxLenNumber(char *inputStr,int len)
{
//开始处理的位置
int startPos = 0;
//当前处理的字符长度
int tempCharCount = 0;
//数字的最长长度
int maxLen = 0;
int pos = 0;
while (startPos < len)
{
//循环中的临时最大长度
int tempMax = 0;
while (tempCharCount + startPos < len)
{
//开始处理的字符
char c = inputStr[tempCharCount + startPos];
if (isdigit(c))
{
//如果是数字
tempMax++;
if (tempMax > maxLen)
{
maxLen = tempMax;
pos = startPos;
}
}
else
{
//不是数字
tempMax = 0;
startPos++;
break;
}
tempCharCount++;
}
if (startPos + tempCharCount == len)
{
break;
}
tempCharCount = 0;
}
return maxLen;
}
int main()
{
char a[]="654359006 uestc 18224001830 get the longest digit string!";
puts(a);
cout<<"GetMaxLenNumber="<<GetMaxLenNumber(a,sizeof(a)/sizeof(a[0]))<<endl;
}
求一个字符串中的最大长度的数字
最新推荐文章于 2020-02-23 10:35:22 发布