题目:字符串中找连续最长的数字串,并把这个串的长度返回。
#include <iostream>
#include <list>
using namespace std;
//findMaxLen abcd12345ed123ss123456789
int findMaxLen(char *input, char *output)
{
char *in=input,*out=output;
char *temp,*final;
int maxlen=0;
int count;
while(*in!='\0')
{
if(*in>='0' && *in<='9')
{
count=0;
for(temp=in;*in>='0'&&*in<='9';in++)
{
count++;
}
if(maxlen<count)
{
maxlen=count;
final=temp;
}
}
in++;
}
for(int i=0;i<maxlen;i++)
*out++=*final++;
*out='\0';
return maxlen;
}
bool isNum(char c)
{
return (c>='0' && c<='9');
}
int findMaxLen2(char *input,char *output)
{
int n=strlen(input);
int res=0,cnt;
for(int i=0;i<n;i++)
{
if(isNum(input[i]))
{
cnt++;
res=max(cnt,res);
}
else
cnt=0;
}
return res;
}
int main()
{
char a[]="abcd12345ed123ss123456789";
char b[100];
int max=findMaxLen2(a,b);
cout<<max<<endl;
}