题目:
写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,
并把这个最长数字串付给其中一个函数参数outputstr所指内存。
例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,
outputstr所指的值为123456789
答案:
//20130208
#include <iostream>
#include <string>
using namespace std;
int continumax(char *outputstr, char *inputstr);
int main()
{
char *s = "abcd12345ed125ss123456789";
char ss[256];
int n = continumax(ss,s);
return 0;
}
int continumax(char *outputstr, char *inputstr)
{
int n = 0;
int maxs = 0;
int len = 0;
char *tmp;
char *poi;
while (*inputstr != '\0')
{
if ((*inputstr >= '0')&&(*inputstr <= '9'))
{
tmp = inputstr;
++n;
inputstr++;
while (*inputstr != '\0')
{
if ((*inputstr >= '0')&&(*inputstr <= '9'))
{
++n;
}
else
{
break;
}
inputstr++;
}
if (n > maxs)
{
maxs = n;
poi = tmp;
}
}
else
{
n = 0;
}
inputstr++;
}
for (int i = 0; i < maxs; ++i)
{
*outputstr++ = *poi++;
}
*outputstr = '\0';
return maxs;
}