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;
    }
  • 相关阅读:
    LOJ6395 「THUPC2018」城市地铁规划 / City
    [题解] 好好
    [题解] CF1316F Battalion Strength
    【题解】CF1320D Reachable Strings
    【题解】夕张的改造
    【题解】期望次数
    [FJWC2020] lg
    Django 多表操作
    Django 单表操作
    Django 模板层 静态文件
  • 原文地址:https://www.cnblogs.com/Small-Life/p/4008473.html
Copyright © 2011-2022 走看看