写一个函数
,
它的原形是
int continumax(char *outputstr,char *intputstr)
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数 outputstr 所指内存。例如: "abcd12345ed125ss123456789" 的首地址传给 intputstr 后,函数将返回 9 , outputstr 所指的值为 123456789
![](https://img-my.csdn.net/uploads/201205/19/1337418609_5488.png)
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数 outputstr 所指内存。例如: "abcd12345ed125ss123456789" 的首地址传给 intputstr 后,函数将返回 9 , outputstr 所指的值为 123456789
#include <iostream>
#include <cstring>
using namespace std;
int continuemax(char * outputstr, char * inputstr)
{
int index=0;
int length=1;
int max=0;
int start=0;
while(inputstr[index] != '\0')
{
if(inputstr[index+1] == inputstr[index] +1)
{
length++;
}
else
{
if(length > max)
{
max = length;
start = index - length + 1;
}
length = 1;
}
index++;
}
strncpy(outputstr, inputstr + start, max);
return max;
}
int main()
{
char *input = "abcdefghijkl12345ed125ss123456789";
char *output = new char[20];
int len = continuemax(output,input);
cout << "max continue inputstr is \""<< output <<"\"\nlength is " << len<< endl;
delete [] output;
return 0;
}
![](https://img-my.csdn.net/uploads/201205/19/1337418609_5488.png)