/*
第 25 题:
写一个函数,它的原形是 int continumax(char *outputstr,char *intputstr)
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,
并把这个最长数字串付给其中一个函数参数 outputstr 所指内存。
例如:"abcd12345ed125ss123456789" 的首地址传给 intputstr 后,函数将返回 9,
outputstr 所指的值为 123456789
*/
#include<iostream>
#include<stdio.h>
using namespace std;
int continumax(char *outputstr,char *inputstr)
{
int i,start,num,max;
//printf("%s",inputstr);
num=0;
max=0;
for(i=0;inputstr[i]!='\0';i++)
{
if(inputstr[i]>='0'&&inputstr[i]<='9')
num++;
else
num=0;
if(num>max)
{
max=num;
start=i-max+1;//起始位置
}
}
for (i=0;i<max;i++)
*outputstr++=inputstr[start++];
*outputstr='\0';
return max;
}
int main()
{
char str1[]={"abcd12345ed125ss123456789"};
char str2[]={"ava124554df54df342323423423sd"};
char outputstr[100];
int num;
num=continumax(outputstr,str1);
printf("%s中连续最长的数字串:\n长度为%d,内容为%s\n",str1,num,outputstr);
num=continumax(outputstr,str2);
printf("%s中连续最长的数字串:\n长度为%d,内容为%s\n",str2,num,outputstr);
return 0;
}