数据结构与算法面试题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;
}

 

posted @ 2016-03-13 14:33  dreamOwn  阅读(278)  评论(0编辑  收藏  举报