题目:求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”)
代码如下:
void longIncrease(char* str)
{
if(str==NULL)
return ;
int len=strlen(str);
int max=0;
int n=1;
int first=0;
for(int i=0;i<len-1;i++)
{
if(str[i+1]>str[i]&&str[i]>='0'&&str[i]<='9'&&str[i+1]>='0'&&str[i+1]<='9')
{
n++;
}
else
{
if(n>max)
{
max=n;
first=i-max+1;
}
n=1;
}
}
if(n>max)
{
max=n;
first=0;
}
cout<<first<<endl;
for(int i=first;i<max+first;i++)
cout<<str[i];
cout<<endl;
}
int main()
{
char* str="ads3sl456789DF3456ld345AA";
longIncrease(str);
return 0;
}