您的位置:首页 > 编程语言 > PHP开发

25.写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)

2012-10-23 23:25 519 查看
写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)

功能:

在字符串中找出连续最长的数字串,并把这个串的长度返回,

并把这个最长数字串付给其中一个函数参数outputstr所指内存。

例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,

outputstr所指的值为123456789

这里可以在原来出申请空间,也可以在函数中申请空间。不过在函数中申请空间要用到二级指针!

#include <iostream>

int continumax(char **outputstr,char *intputstr);

int main()
{
char* output = NULL ;
char* input = "abcd12345ed125ss123456789";
int i = continumax(&output,input);

return 0;
}

int continumax(char **outputstr,char *intputstr)
{
int j = 0;
int nowmax = 0;
int maxpoint = 0 ;
for (int i=0;intputstr[i] != '\0';)
{
if (j == 0)
{
i++;
j++;
}
else
{
while (intputstr[i-1]+1 == intputstr[i])
{
j++;
i++;
}
if (j>nowmax)
{
nowmax = j ;
maxpoint = i-j;
}
j = 0 ;
}
}
char* temp = new char[nowmax+1] ;
for (int i=0;i<nowmax;i++)
temp[i] = intputstr[maxpoint+i];
temp[nowmax] = '\0' ;
*outputstr = temp ;
return nowmax;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐