当前位置:编程学习 > C/C++ >>

在字符串中找出连续最长的数字串

写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,
并把这个最长数字串付给其中一个函数参数outputstr所指内存。
例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,
outputstr所指的值为123456789
[cpp]  
#include<iostream>  
#include<cstring>  
using namespace std;  
  
int continueMax(char* &outputstr,char *inputstr)  
{  
    int max=0,length=0,begin=0,pos=0;  
    int len=strlen(inputstr);  
  
    for(int i=0;i<len;i++)  
    {  
        if(inputstr[i]>='0'&&inputstr[i]<='9')  
        {  
            length++;  
            if(length>max)  
            {  
                max=length;  
                pos=begin;  
            }  
        }  
        else  
        {  
            length=0;  
            begin=i+1;  
        }  
    }  
  
    outputstr=&inputstr[pos];  
    return max;  
}  
  
int main()  
{  
    char *str="123456789abcd12345ed125ss";  
    char *p;  www.zzzyk.com
    cout<<continueMax(p,str)<<endl;  
    cout<<*p<<endl;  
    return 0;  
}  
 
补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,