写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,
并把这个最长数字串付给其中一个函数参数outputstr所指内存。
例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,
outputstr所指的值为123456789
贴上代码:
/*============================================================*\
第25题(字符串):
写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,
并把这个最长数字串付给其中一个函数参数outputstr所指内存。
例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,
outputstr所指的值为123456789
\*============================================================*/
#include <iostream>
using namespace std;
int continumax(char *outputstr,char *intputstr){
int len = 0;
int max = 0;
while(1){
if(*intputstr >= '0' && *intputstr <= '9'){
++len;
}else{
if(len > max){
max = len;
outputstr = intputstr - len;
}
len = 0;
}
if(*intputstr++ == '\0')
break;
}
for(int i = 0 ; i < max ; ++i){
cout << *outputstr;
++outputstr;
}
cout << endl;
return max;
}
int main(){
char intputstr[] = "abcd12345ed125ss123456789";
char *outputstr = NULL;
continumax(outputstr,intputstr);
return 1;
}