zoukankan      html  css  js  c++  java
  • 在字符串中找出连续最长的数字串 在字符串中找出连续最长的数字串,并把这个串的长度返回

    写一个函数,它的原形是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;  //输入完成后末尾自动添加
            memset(output, 0 , sizeof(output));  
              
            int len = ContinueMax(output, input);  
              
            cout << len<<" " << output<<endl;  
        } 
        return 0;
    }
  • 相关阅读:
    四则运算
    读书计划
    典型用户和场景分析
    课堂练习--电梯调度
    重力解锁--用户需求调研
    书籍促销活动优惠问题
    小组开发项目--NABC分析
    梦断代码读后感之终结篇
    结对开发-求环状二维数组最大子数组
    结对开发之大数溢出
  • 原文地址:https://www.cnblogs.com/Small-Life/p/4008473.html
Copyright © 2011-2022 走看看