写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,
并把这个最长数字串付给其中一个函数参数outputstr所指内存。
例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,
#include<iostream> using namespace std; int ContinueMax(char * output, const char * input) { if(input==NULL) return 0; const char* hegin=NULL; int max_len=0; while(*input) { if(!isdigit(*input)) { input++; continue; } const char* temp=input; int sum=0; for(;isdigit(*input);input++,sum++); if(sum>max_len) { max_len=sum; hegin=temp; } } memcpy(output,hegin,max_len); output[max_len]=0; return max_len; } int main() { char output[100]; char input[100]; while (true) { cin >> input; //输入完成后末尾自动添加\0 memset(output, 0 , sizeof(output)); int len = ContinueMax(output, input); cout << len<<" " << output<<endl; } return 0; }
时间: 2024-09-30 15:37:03