数据结构与算法面试题80道(25)
第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(){ char *input="abcd12345ed125ss123456789"; char *output=NULL; int length=continueMax(output,input); cout<<length<<endl; for(int i=0;i<length;i++) cout<<output[i]; cout<<endl; return 0; }