第25 题:
写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,
并把这个最长数字串付给其中一个函数参数outputstr 所指内存。
例如:"abcd12345ed125ss123456789"的首地址传给intputstr 后,函数将返回9,
outputstr 所指的值为123456789
#include <iostream>
using namespace std;
int continueMax(char * &outputStr, char *inputStr)
{
int max = 0;
while(*inputStr != '\0')
{
while((*inputStr < '0' ) || (*inputStr > '9'))
{
inputStr++;
}
char *tempStr = inputStr;
while ((*inputStr >= '0') && (*inputStr <= '9'))
{
inputStr++;
}
if (inputStr - tempStr > max)
{
max = inputStr - tempStr;
outputStr = tempStr;
}
}
return max;
}
int main(void)
{
char *input = "abcd12345ed125ss123456789";
char *output = NULL;
int length = continueMax(output, input);
cout << length << endl;
for(int i = 0; i < length; i++)
{
cout << output[i];
}
system("pause");
return 0;
}