【练习】写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)功能:在字符串中找出连续最长的数字串,并把这个串的长度返回,
/************************************************************************/
/* 写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,
并把这个最长数字串付给其中一个函数参数outputstr 所指内存。
例如:"abcd12345ed125ss123456789"的首地址传给intputstr 后,函数将返回9,
outputstr 所指的值为123456789
*/
/************************************************************************/
#include <iostream>
using
namespace
std;
int
continumax(
char
*outputstr,
char
*intputstr)
{
int
length=0,curLength=0;;
char
*temp=NULL;
while
((*intputstr)!=
'\0'
)
{
while
(
isdigit
(*intputstr)&&(*intputstr)!=
'\0'
)
{
if
(temp==NULL)
{
temp=intputstr;
}
curLength++;
intputstr++;
}
if
(curLength>length)
{
length=curLength;
outputstr=temp;
temp=NULL;
curLength=0;
}
else
{
temp=NULL;
curLength=0;
}
intputstr++;
}
for
(
int
i=0;i<length;i++)
{
cout<<*outputstr++;
}
cout<<endl;
return
length;
}
int
main()
{
char
*intputstr=
"abcd12345ed125ss123456789"
;
char
*outputstr=NULL;
int
length=continumax(outputstr,intputstr);
cout<<length;
return
0;
}