首页 > 代码库 > 在字符串中找出连续最长的数字串 在字符串中找出连续最长的数字串,并把这个串的长度返回

在字符串中找出连续最长的数字串 在字符串中找出连续最长的数字串,并把这个串的长度返回

写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,
并把这个最长数字串付给其中一个函数参数outputstr所指内存。
例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,

#include<iostream>using namespace std;int ContinueMax(char * output, const char * input) {    if(input==NULL) return 0;    const char* hegin=NULL;    int max_len=0;    while(*input)    {        if(!isdigit(*input))        {           input++;           continue;        }        const char* temp=input;        int sum=0;        for(;isdigit(*input);input++,sum++);                if(sum>max_len)        {            max_len=sum;            hegin=temp;                    }    }    memcpy(output,hegin,max_len);    output[max_len]=0;    return max_len;}int main(){    char output[100];      char input[100];      while (true)      {          cin >> input;  //输入完成后末尾自动添加\0        memset(output, 0 , sizeof(output));                    int len = ContinueMax(output, input);                    cout << len<<" " << output<<endl;      }     return 0;}

 

在字符串中找出连续最长的数字串 在字符串中找出连续最长的数字串,并把这个串的长度返回