功能描述:
在字符串中找出连续最长的数字串,并把这个串的长度返回,同时把这个最长数字串付给其中一个函数参数outputstr所指内存。
例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,outputstr所指的值为123456789
在字符串中找出连续最长的数字串,并把这个串的长度返回,同时把这个最长数字串付给其中一个函数参数outputstr所指内存。
例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,outputstr所指的值为123456789
这个,直接上代码:
#include <cstdio>
#include <cstdlib>
int continumax(char *outputstr,char *intputstr)
{
int max = 0, cnt = 0;
char *p = intputstr;
char *index;
while (*p != '\0')
{
while (*p != '\0' && *p >= '0' && *p <= '9')
{
cnt++;
p++;
}
if (cnt > max)
{
max = cnt;
index = p - max;
}
cnt = 0;
p++;
}
for (int i = 0; i < max; i++)
{
outputstr[i] = *index;
index++;
}
outputstr[max] = 0;
return max;
}
int main()
{
char *str = "abcd12345ed125ss123456789";
char outputstr[100];
printf("%d\n%s", continumax(outputstr, str), outputstr);
system("pause");
return 0;
}