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

    第 25 题(字符串):
    写一个函数,它的原形是 int continumax(char *outputstr,char *intputstr)
    功能:
    在字符串中找出连续最长的数字串,并把这个串的长度返回,
    并把这个最长数字串付给其中一个函数参数 outputstr 所指内存。
    例如:"abcd12345ed125ss123456789" 的首地址传给 intputstr 后,函数将返回 9,
    outputstr 所指的值为 123456789

    不难,关键注意outputstr需要传入地址的地址,这样就可以开辟空间并返回了

    /*
    第 25 题(字符串):
    写一个函数,它的原形是 int continumax(char *outputstr,char *intputstr)
    功能:
    在字符串中找出连续最长的数字串,并把这个串的长度返回,
    并把这个最长数字串付给其中一个函数参数 outputstr 所指内存。
    例如:"abcd12345ed125ss123456789" 的首地址传给 intputstr 后,函数将返回 9, 
    17
    outputstr 所指的值为 123456789
    start time = 16:11
    end time = 16:40
    */
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int continumax(char *outputstr,char *intputstr)
    {
        int maxlen = 0;
        int len = 0;
        char * maxstart = NULL;
        char * start = NULL;
    
        while(*intputstr != '')
        {
            if(*intputstr >= '0' && *intputstr <= '9')
            {
                if(len == 0)
                {
                    start = intputstr;
                }
                len++;
            }
            else
            {
                maxstart = (len > maxlen) ? start : maxstart;
                maxlen = (len > maxlen) ? len : maxlen;
                len = 0;
            }
            intputstr++;
        }
        maxstart = (len > maxlen) ? start : maxstart;
        maxlen = (len > maxlen) ? len : maxlen;
    
        *(char **)outputstr = (char *)malloc(maxlen * sizeof(char));
        memcpy(*(char **)outputstr, maxstart, maxlen * sizeof(char));
        return maxlen;
    }
    
    int main()
    {
        char * s = "abcd12345ed125ss123456789";
        char * out = NULL;
    
        int len = continumax((char *)&out, s);
        return 0;
    }
  • 相关阅读:
    Redis在CentOS和Windows安装过程
    celery在Django中的集成使用
    Celery 框架学习笔记(生产者消费者模式)
    异步任务队列Celery在Django中的使用
    如何使用django+celery+RabbitMQ实现异步执行
    PowerMock+SpringMVC整合并测试Controller层方法
    Python获取指定文件夹下的文件名
    Python中super的应用
    Linux系统(Centos)下安装nodejs并配置环境
    面试题37:序列化二叉树
  • 原文地址:https://www.cnblogs.com/dplearning/p/3975260.html
Copyright © 2011-2022 走看看