码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-10-06 20:27:40      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   os   ar   for   sp   div   

写一个函数,它的原形是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;
}

 

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

标签:style   blog   color   io   os   ar   for   sp   div   

原文地址:http://www.cnblogs.com/Small-Life/p/4008473.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!