写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,
并把这个最长数字串付给其中一个函数参数outputstr所指内存。
例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,
outputstr所指的值为123456789
//coder:Lee,20120316
#include<stdio.h>
int continumax(char *&outputstr,char *inputstr)
{
if(!inputstr)
return -1;
int DigitNum=0;
int MaxLength=0;
while (1)
{
if (*inputstr>='0'&&*inputstr<='9')
++DigitNum;
else
{
if (DigitNum!=0)
{
if(DigitNum>MaxLength)
{
MaxLength=DigitNum;
outputstr=inputstr-DigitNum;
}
DigitNum=0;
}
}
if(*inputstr=='\0')
break;
++inputstr;
}
return MaxLength;
}
int main()
{
char *inputstr="abcd12345ed125ss123456789";
char *outputstr=NULL;
int DigitLength=continumax(outputstr,inputstr);
printf("DigitLength:%d\n",DigitLength);
while(DigitLength--)
{
printf("%c",*outputstr);
++outputstr;
}
return 0;
}
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,
并把这个最长数字串付给其中一个函数参数outputstr所指内存。
例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,
outputstr所指的值为123456789
//coder:Lee,20120316
#include<stdio.h>
int continumax(char *&outputstr,char *inputstr)
{
if(!inputstr)
return -1;
int DigitNum=0;
int MaxLength=0;
while (1)
{
if (*inputstr>='0'&&*inputstr<='9')
++DigitNum;
else
{
if (DigitNum!=0)
{
if(DigitNum>MaxLength)
{
MaxLength=DigitNum;
outputstr=inputstr-DigitNum;
}
DigitNum=0;
}
}
if(*inputstr=='\0')
break;
++inputstr;
}
return MaxLength;
}
int main()
{
char *inputstr="abcd12345ed125ss123456789";
char *outputstr=NULL;
int DigitLength=continumax(outputstr,inputstr);
printf("DigitLength:%d\n",DigitLength);
while(DigitLength--)
{
printf("%c",*outputstr);
++outputstr;
}
return 0;
}